Penso che i commenti di TODO
, in una certa misura, abbiano senso. Soprattutto se stai lavorando in modo iterativo (come è comune nei negozi di TDD e agili), ci saranno cose in cui riconoscerai che saranno necessari in breve tempo ma a cui non vuoi fare la deviazione per implementare giusto allora e lì.
Ciò che diventa brutto è quando tali commenti rimangono nella base di codice. Mentre stai lavorando attivamente su una funzione, è meglio lasciarli, ma non appena ti avvicini al completamento della funzione, dovresti concentrarti su come eliminarli. Se non si vuole passare attraverso il lavoro di rimpiazzarli effettivamente con un codice corretto e funzionante, almeno, si deve tener conto della funzionalità pertinente. Per prendere in prestito l'esempio di @ JoonasPulakka, dove inizialmente il codice dice
ConnManager.getConnection("mydatabase"); // FIXME: DB name should be configurable
potresti cambiarlo in qualcosa di simile
ConnManager.getConnection(GetDatabaseName());
con, al momento, GetDatabaseName () è uno stub che restituisce semplicemente la stessa stringa con cui hai iniziato. In questo modo, c'è un chiaro punto di espansione futura, e tu sai che qualsiasi modifica fatta lì 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, io uso una mia parola chiave invece che rigorosamente TODO
, sebbene l'intento sia lo stesso: marcare cose che so che avranno bisogno di rivedere. Inoltre, prima di controllare il mio codice, eseguo una ricerca di codice sorgente globale per quella parola chiave, che viene scelta in modo tale che normalmente non dovrebbe apparire in nessuna parte del codice. Se viene trovato, so che ho dimenticato qualcosa e posso andare avanti e correggerlo.
Come per includere il nome / firma del programmatore con il commento, penso che sia eccessivo se hai un sistema di controllo della versione del codice sorgente (tu fai , giusto?). In tal caso, la sua caratteristica di colpa ti dirà chi ha aggiunto il commento o, più precisamente, chi ha effettuato l'ultimo controllo in una modifica che ha toccato il commento. Ad esempio, in Visual Studio, ciò si ottiene facilmente utilizzando la funzione "Annotazione" che si trova tra le funzioni di controllo del codice sorgente.