Penso che i TODO
commenti, in una certa misura, abbiano un senso. In particolare, se si sta lavorando in modo iterativo (come è comune nei negozi agili e TDD), ci saranno cose che si riconosce sta andando ad essere necessaria in breve tempo, ma che non si desidera effettuare la deviazione per implementare lì e subito.
Ciò che diventa brutto è quando tali commenti rimangono nella base di codice. Mentre stai lavorando attivamente a una funzione, va bene lasciarli dentro, ma non appena ti avvicini al completamento della funzione, dovresti concentrarti sul liberartene. Se non vuoi passare attraverso il lavoro di sostituirli effettivamente con un codice funzionante, allora almeno considera la funzionalità pertinente. Per prendere in prestito l'esempio di @ JoonasPulakka, dove inizialmente dice il codice
ConnManager.getConnection("mydatabase"); // FIXME: DB name should be configurable
potresti cambiarlo in qualcosa del genere
ConnManager.getConnection(GetDatabaseName());
con, per il momento, GetDatabaseName () essendo uno stub che restituisce semplicemente la stessa stringa con cui hai iniziato. In questo modo, c'è un chiaro punto di futura espansione e sai che qualsiasi modifica apportata si rifletterà ovunque sia necessario il nome del database. Se il nome del database è anche moderatamente generico, questo può essere un notevole miglioramento della manutenibilità.
Personalmente, uso una parola chiave tutta mia invece che rigorosamente TODO
, sebbene l'intento sia lo stesso: contrassegnare le cose che so dovranno rivisitare. Inoltre, prima di controllare il mio codice, eseguo una ricerca globale del codice sorgente per quella parola chiave, che viene scelta in modo tale che normalmente non dovrebbe apparire in nessuna parte del codice. Se viene trovato, so di aver dimenticato qualcosa e posso andare avanti e risolverlo.
Per quanto riguarda l'inclusione del nome / firma del programmatore nel commento, penso che sia eccessivo se si dispone di un sistema di controllo della versione del codice sorgente ( vero , vero?). In tal caso, la sua funzione di colpa ti dirà chi ha aggiunto il commento o, più precisamente, chi ha verificato l'ultima volta in una modifica che ha toccato il commento. Ad esempio, in Visual Studio, questo è facilmente realizzabile utilizzando la funzione "Annota" presente tra le funzioni di controllo del codice sorgente.