Questo è qualcosa che mi ha infastidito per un po 'di tempo. Immagino che ci siano un paio di ovvi aspetti importanti che dovrebbero entrare in un commento, come ad esempio:
-
L'autore (i) - Una descrizione dei parametri (e dei loro tipi, se siamo in una lingua dinamica)
- Una breve descrizione di ciò che fa il metodo, ad es. "Registra gli spazi bianchi in coda e in coda per stringhe di lunghezza illimitata."
- Se genera eccezioni.
- Semantica del valore restituito.
Ma si potrebbero visualizzare tutti i tipi di informazioni che potrebbero essere aggiunte a un tale commento, ad esempio:
- Esempi di utilizzo
- Spiegazione di come il metodo viene utilizzato nell'ambito del progetto
- TODO / Nice to have per questo metodo che non sono ancora stati implementati
- E probabilmente molti altri
Ora la mia domanda è, come si scrive un metodo o un commento di classe veramente buono (ovvero, quali informazioni si inseriscono in esso, e come si fa a garantire che sia tenuto aggiornato), con solo il giusta quantità di informazioni in modo che ogni sviluppatore che deve lavorare con il tuo codice sia all'altezza del compito, ma considerando il fatto che quando aggiungi sempre più informazioni al tuo commento, la probabilità che diventi obsoleto aumenta (ad esempio se aggiungo puntatori a dove il metodo è / sarà usato nel progetto, potrebbe essere sostituito in quella posizione o potrebbe benissimo non essere mai usato, anche se era inteso a).