NON sono una documentazione di riferimento ASSOLUTA
Si noti che molte delle seguenti considerazioni si applicano anche ai commenti, in quanto possono non essere sincronizzati con il codice, come i test (anche se è meno applicabile).
Quindi, alla fine, il modo migliore per capire il codice è avere un codice di lavoro leggibile .
Se possibile, e non scrivere sezioni di codice di basso livello cablate o condizioni particolarmente complicate, sarebbe cruciale una documentazione aggiuntiva.
- I test possono essere incompleti:
- L'API è cambiata e non è stata testata,
- La persona che ha scritto il codice ha scritto i test per i metodi più semplici da testare al posto dei metodi più importanti da testare, quindi non ha avuto il tempo di terminare.
- I test possono essere obsoleti.
- I test possono essere messi in corto circuito in modi non ovvi e non effettivamente eseguiti.
MA SONO ANCORA UN COMPLEMENTO DI Documentazione utile
Tuttavia, in caso di dubbi su ciò che fa una determinata classe, specialmente se piuttosto lungo, oscuro e privo di commenti (sai il tipo ...), cerco rapidamente di trovare le sue classi di test e controllare:
- ciò che effettivamente cercano di controllare (dà un suggerimento sulle curiosità più importanti, tranne se lo sviluppatore ha fatto l'errore sopra menzionato di implementare solo i test "facili"),
- e se ci sono casi d'angolo.
Inoltre, se scritti usando uno stile BDD , danno una definizione piuttosto buona del contratto della classe . Apri il tuo IDE (o usa grep) per vedere solo i nomi dei metodi e tada: hai un elenco di comportamenti.
Anche le regressioni e i bug hanno bisogno di test
Inoltre, è buona norma scrivere test per la regressione e per la segnalazione di bug: correggi qualcosa, scrivi un test per riprodurre il caso. Guardandoli indietro, è un buon modo per trovare la relativa segnalazione di bug e tutti i dettagli su un vecchio problema, per esempio.
Direi che sono un buon complemento alla documentazione reale e almeno una risorsa preziosa in questo senso. È un buon strumento, se usato correttamente. Se inizi a testare presto nel tuo progetto e lo rendi un'abitudine, POTREBBE essere un'ottima documentazione di riferimento. Su un progetto esistente con cattive abitudini di codifica già puzzando la base di codice, gestirli con cura.