Sto facendo una revisione del codice su un cambiamento che il mio collaboratore ha apportato alla nostra applicazione Java, e ho trovato qualcosa che non mi è molto familiare: una classe annidata.
Dalla revisione del codice, sembra che la classe nidificata sia utilizzata come se fosse una normale classe e chiedendo al mio collega di farlo, la ragione per inserirla come classe nidificata è dovuta a un controllo del codice sorgente problema che le impediva di creare una nuova classe il giorno in cui l'aveva codificata.
Questo mi dà fastidio - anche se non c'è motivo di introdurre questo elemento nel nostro codice (pochissime classi usano classi annidate nella nostra applicazione), non c'è alcun svantaggio a cui io possa pensare. La classe nidificata è, in un modo molto allentato, correlata alla classe da cui proviene, e riscrivendo il codice in modo che la classe nidificata sia indipendente, impiegherebbe del tempo.
C'è qualche buona ragione per fare in modo che il mio collega riduca il codice in modo che questa classe annidata sia indipendente? O dovrei semplicemente chiedere loro di sprecare il loro tempo in qualcosa che non ha importanza?
Si noti che non sembra esserci alcun effetto funzionale sull'implementazione della classe in questo modo - quindi qualsiasi argomento dovrebbe provenire da best practice o da una cattiva struttura, piuttosto che provare a dimostrare che non funziona (perché lo fa lavoro - non sono sicuro che sia appropriato).