Una cosa che mi aiuta a lavorare con il codice che è nuovo per me - questo è molto meno necessario per codice ben scritto - è di rifattenerlo in modo massivo per un giorno o due e poi di scartare tutte le mie modifiche. Questo processo mi aiuta a capire cosa fa il codice; lavorare con il codice mi aiuta a capirlo. Comincia anche a insegnarmi quali parti del codice sono fragili.
Se si ha la possibilità di migrare a una versione più recente di Java, la generizzazione di tutte le raccolte aiuterà a capire quali tipi di dati vengono passati.
Naturalmente, lo faccio dopo aver installato il software in un laboratorio di prova e aver giocato un po 'per capire cosa fa.
Modifica: Pensare alla mia risposta, inoltre, è utile per abilitare tutte le analisi e la registrazione diagnostica, per utilizzare il sistema e quindi per studiare i registri. Se la traccia del protocollo di comunicazione esiste, osservare questa traccia aiuterà a capire il protocollo di comunicazione utilizzato dal codice, magari con una traccia Wireshark dello stesso test.
Un'altra migrazione utile è la migrazione dalla vecchia libreria Concurrency alla nuova libreria di concessioni Java 5 (e 6). Questo ti aiuterà a capire dove sono i thread e quando vengono avviati e quando verranno chiusi.
Ovviamente, con eventuali modifiche al codice su un codebase sconosciuto, presumo che venga eseguito un test corretto per garantire che non vi sia nulla di rotto! Tuttavia, per bilanciare questo, ho imparato che dopo aver rifatto il codice scritto male, i bug introdotti sono spesso molto più facili da trovare rispetto agli errori che esistevano prima del refactoring.
Non sono sicuro se ciò è inteso, ma trovo divertente che la prossima cosa sia di solito scrivere nuovi test (non dirò molto sui test delle unità esistenti, vero? :) – Learning
Non intendo denigrare i miei colleghi , ma non ho ancora visto un set completo di test unitari al 100% (anche il mio può essere migliorato). :) Inoltre, trovo che i test di scrittura sono solo un modo migliore per imparare piuttosto che leggerli. –
ROTFL, ottimo :))))))) – IAdapter