Come posso documentare al meglio una decisione sul design del codice nel mio codice sorgente? Dovrei semplicemente aggiungere un grosso commento in un punto che ritengo giusto?
O dovrei semplicemente creare un file separato?
Questo problema è importante per me, perché il progetto sul quale lavoro in futuro potrebbe essere preso in consegna da qualcun altro (o forse tornerò su di esso dopo averlo lasciato per anni) e lui deve capire perché io ha preso alcune decisioni sul design del codice in qualche modo e non in un altro modo.
Idealmente, vorrei generare la documentazione per il mio codice dai commenti del codice (ad es. con reStructuredText), quindi sarei curioso di sapere quali sono le mie opzioni.
Grazie.
EDIT Ecco un caso d'uso complicato: supponiamo di avere un metodo che produce qualcosa. La cosa che produce potrebbe essere stata raggiunta con l'approccio A, B o C, che sono tutti ovvi. Ho scelto l'approccio C, perché dopo aver scelto A e B è emerso che in realtà ci sono degli aspetti negativi (ad esempio, a seconda di una libreria di terze parti, che si è rivelata non ben mantenuta, dopo che lo sviluppatore di quella libreria è stato contattato ecc. ), ma quelli negativi non sono immediatamente chiari.
Spiegando tutto ciò in un commento sottostante quel metodo renderebbe il codice illeggibile, perché un grande blocco di commenti separerebbe le righe di codice. Quindi quale sarebbe l'approccio migliore per gestirlo?
Spostando i commenti in un file separato, il file non verrà mai letto. Anche la creazione di un puntatore a quel file non è una buona idea perché sarebbe una sorta di rottura della struttura pulita del progetto: ogni cosa viene ordinatamente commentata in poche righe nel codice sorgente - e poi c'è un file strano che gira intorno, contenente un grosso commento .