public class CivilUnion extends Marriage { }

samskeyti
2 min readJan 23, 2016

--

Ufficio, interno giorno.

“È arrivata una segnalazione al supporto tecnico, pare ci sia un problema nel software. Dicono che è uscito questo errore: Wrong gender for input data in class Marriage

“Strano, la classe Marriage è ormai ampiamente usata e testata, ha sempre avuto alcuni bug, ma questo è nuovo.”

“Ci sono una serie di utenti per cui non funziona, se inseriscono i loro veri dati. Dicono che per andare avanti devono inventarsi dei trucchetti, oppure compilare il modulo nella versione estera del software.”

“Ah, certo. Ecco il problema. L’errore è lanciato dalla validazione dati. C’è un controllo che verifica che i due utenti inseriti abbiamo un valore diverso fra loro nel campo Gender.”

“Come mai c’è questo controllo?”

“Non lo so. Guardando le specifiche non mi sembra che fosse richiesto. Era stato messo per convenzione perché all’inizio gli utenti che usavano il programma erano tutti così, ma in effetti non ha senso.”

“Quindi è semplice da risolvere?”

“Sì, guarda, ci metto due secondi, basta che commento la riga che fa questo controllo e dopo tutto il resto funziona uguale. Così poi il software lo possono usare tutti, mi sembra ottimo.”

“Uhm, no, aspetta. Mi dicono che la classe Marriage non la devi modificare, devi farne un’altra che fa le stesse cose.”

“Ma perché? Non ha senso. Perdiamo solo del tempo, devo riscriverla tutta, poi bisogna testarla. E dopo ci sono due classi che fanno le stesse cose ma per utenti diversi, la manutenzione del sistema si complica. Almeno posso fare che questa nuova classe eredita da Marriage?”

“No, devi proprio riscriverla e dargli anche un altro nome. Cambia anche un po’ l’interfaccia dei metodi che non devono sembrare la stessa cosa. Ah, e poi devi togliere il metodo .adopt(child).”

“Perché?”

“Dicono che non funzionerebbe.”

“Funzionerebbe benissimo, invece. Anzi, il sistema trarrebbe giovamento da un maggior numero di istanze che accettano chiamate a quel metodo.”

“No, forse in una prossima versione.”

“Ma mi sembra assurdo. Con una riga commentata eravamo già pronti per rilasciare la nuova versione e così invece si complica tutto. Non capisco.”

“Sai, sono i soci di minoranza. La classe Marriage arriva da un loro vecchio codice.”

“Infatti si vede, è scritta malissimo. Non sarà un caso che i loro software la gente li usa sempre meno.”

--

--

samskeyti

Mi piace distinguermi senza farmi notare. Twitter: @samskeyti79