Non ho un'educazione informatica formale, il che significa che non ho studiato argomenti di informatica in un'università. Tuttavia, lavoro in un lavoro di programmazione e scrivo una quantità ragionevole di codice. Naturalmente, la programmazione significa che devo anche documentare e commentare il mio codice.
Il problema che sembro avere è decidere tra due scuole di pensiero:
-
Commenta l'inferno del tuo codice, ad es.
unsigned int subtractor (int subtractee, int subtractor) { /* - This function is a subractor and is used to subtract one integer from another. - In other words the case here is subtractee - subtractor. - Please ensure that the subractee is larger then the subtractor because this function will have undefined behaviour for negative answers. */ (The code here...) }
-
Il codice che spiega se stesso lascia che sia (non c'è bisogno di commentare) come in questo esempio. Usa solo nomi validi e significativi.
Forse questo codice di esempio fa pensare che l'opzione (2) sia migliore, ma i programmatori con esperienza in progetti di grandi dimensioni sanno che a volte solo i nomi significativi non sono abbastanza buoni. So che commentare nei luoghi appropriati è una buona pratica, ma è anche una buona idea commentare come in (1) per descrivere quasi tutti i principali metodi / funzioni?
La ragione per cui lo chiedo è che un collega anziano al lavoro mi ha detto di fare come in (1) ma ora sto leggendo Clean Code di Robert C. Martin e in realtà piuttosto semplicemente afferma che ( 1) è una cattiva pratica
Ci sono molte altre domande sui commenti su questo sito ma questa domanda è diversa dalle altre su questo sito perché sto chiedendo un modo specifico di commentare (1).
UPDATE: Qual è il rovescio della medaglia di scrivere più commenti, in questo modo un newbie completo può anche capirlo e anche un programmatore avanzato (se lui / lei vuole leggere comunque i commenti). Ma capisco che il programmatore avanzato probabilmente avrà un mal di testa perché potrebbe leggere ciò che già sanno o può capirlo dal codice comunque.
Un altro lato negativo che posso prevedere è che più commenti, più possibilità che possano contenere errori che possono portare a confusioni, ma altri buoni motivi per cui dovremmo commentare miseramente?