I commenti possono essere scritti in qualsiasi momento, i commenti DOVREBBE essere scritti quando ritieni che il codice richieda una spiegazione e tu sai che lo capisci.
Credere che il codice abbia bisogno di spiegazioni dovrebbe quasi sempre basarsi sulla tua convinzione su quanto sia facile capire lo scopo del codice - se lo scopo è chiaro, allora probabilmente non hai bisogno di una spiegazione su cosa sia facendo. Questo è in parte lo scopo del buon naming - in modo che dato un nome di una funzione e il suo input / output, capirai perché il codice è necessario e perché sta facendo tutto ciò che sta facendo.
I commenti sulla sintassi dovrebbero essere estremamente rari, praticamente limitati ai casi in cui è BOTH oscuro E possibile fraintendere che sia qualcos'altro. Se è semplicemente oscuro, fidati che lo guarderanno se ne avranno bisogno, se è semplicemente probabile che sia frainteso a + b * c
, quindi scriverlo in modo che sia meno probabile che fraintenda a + (b*c)
. Se d'altra parte lo scopo non è chiaro (lavorando attorno a un bug di framework / compilatore per un esempio estremo), allora hai bisogno di un commento in modo che la prossima persona possa capire perché stai facendo quello che stai facendo.
L'aggiunta di commenti durante il debug va bene, il debug ti riporta in modo naturale al codice più vecchio che potresti faticare a capire e, lottando per capire, sai che ha bisogno di commenti.
Questo potrebbe essere il motivo per cui molte persone iniziano a dare commenti sulla sintassi - non l'hanno ancora padroneggiato, e ne stanno ancora lottando un po ', e non hanno abbastanza esperienza per rendersi conto che la sintassi è qualcosa che loro imparerò e capirò dopo. Si aspettano di avere problemi a comprendere la sintassi e quindi fornire un commento.
Ma avere questa come normale modalità di funzionamento non è l'ideale, nella migliore delle ipotesi è quindi utile la seconda volta che devi eseguire il debug di quel codice. Dovresti sforzarti di anticipare dove avrai difficoltà a capire il codice e scrivere i commenti spiegandoli come è scritto. Non aspettarti di farlo bene tutto il tempo, o anche la maggior parte del tempo all'inizio. Cerca di fare meglio.