Si si, noi che stiamo facendo le puci ad un costraint, che abbiamo fatto di bello?
E poi basta con gli intrippamenti lavorativi, promesso...
I nostri subjunior preferiti hanno prodotto una applicazioncina che faceva quello che veniva richiesto.
Solo che:
1) Il logger (log4j) non è stato configurato con un file di properties, ma la sua configurazione è stata cablata nel software. In particolare, se vuoi alzare le stampe di debug, devi scaricarti l'applicazione, decompilarla - perché non l'abbiamo archiviata nell'archivio delle applicazioni - cambiare il cablaggio del software , ricompilare e riscaricare, invece di toccare un semplice file di testo e riavviare la web application.
2) ogni volta che facciamo una serie di domande concatenate ad Oracle, invece di aprire la connessione e passare la connessione tra le varie "funzioni" (come era stata la versione 0 della GCP e mia) chiediamo ogni volta una connessione nuova al datasource
3) Non chiudiamo mai la connessione ottenuta
4) Non chiudiamo mai né i resultset, né i prepared statement
5) Non controlliamo se l'autocommit sia a true o false, non prevediamo un rollback se una particola della transazione va a mal fine e non facciamo il commit alla fine (presumiamo, insomma, che l'autocommit sia sempre a true)
6) L'applicazione prevedeva due cose:
a) l'invio di una mail con data di invio da registrare per ogni destinatorio nella sua tabellina del database
b) Il destinatario si poteva deregistrare dal servizio cliccando con il solito link a fondo mail, ma entro 30 giorni dalla ricezione della mail. Dopodiché l'operazione non sarebbe stata più possibile, se non accedendo al portale.
Noi non calcoliamo se sono passati 30 giorni dalla data memorizzata sul database, ma abbiamo cablato la data nel web.xml dell'applicazione (parametro nel servletconfig di una servlet): o se lo usano ora, o prima di lanciare le mail correggono il software, o saran cavoli loro. Va da sé che l'applicazione non si può "riutilizzare" per un secondo gruppo di utenti: il tempo, quando è passato, è già passato per tutti.
7) L'applicazione prevedeva che, una volta deregistrato l'utente, a questo andava inviata una mail di conferma.
In realtà noi ricaviamo la mail dell'utente, gli mandiamo una mail dicendo che lo abbiamo deregistrato e, se l'invio mail non da errore, a quel punto effettivamente lo deregistriamo (discussione interna su cosa vuol dire "la mail non da errore").
E se per qualche motivo l'operazione di deregistrazione non va a buon fine? Niente, la particola fatta è fatta (non c'è il rollback), la particola non fatta non è fatta, l'utente viene indirizzato su una pagina di errore, però se poi controlla la sua posta elettronica, trova la mail che gli dice tutto ok.
Sarà per quello che io non risulto registrata ufficialmente a nessun servizio tim, pure dopo protesta ufficiale ai vari contac center, e però è da quando ho la scheda che ricevo sms continui sul calcio... chi di spada ferisce di spada perisce.
Che ci siano cretinate la cui entità la capisce solo il marito di vesnuccia è normale (e il suo parere mi interesserebbe, che poi magari in fondo il tutto è robustissimo e chi se ne frega non darà mai problemi).
Poi, parliamoci chiaro, non stiamo parlando di vite umane, ma di semplici dati, mail, servizi inutili per invogliare la gente a spendere, ma basta con questo spendere! Chi è che spende oramai?
Ciò che è anomalo è che nessuno abbia controllato cosa avevamo scritto, come ci eravamo organizzate le varie operazioni, né che stile avevamo usato (non c'è una riga commentata e, pur essendo questa una richiesta ufficiale, non abbiamo generato quanto serve per il javadoc in automatico).
E questo non per prenderci a nerbate sulle gengive, ma per dirci come si lavora in una Società di Livello. Darci insomma delle serie linee guida perché alla fine noi siamo spine, non espertoni, e facciamo parte di una catena di montaggio, non siamo degli artigiani artistici.
Il nostro lavoro da spine è stato preso e considerato valido così com'era - al limite se qualcosa non funzionerà salterà fuori un ticket e qualcuno, a quel punto, ci penserà. Poco male - non muore nessuno.