Il miglior modo possibile per commentare? [chiuso]

-2

La mia domanda è semplice, come dovrei commentare durante lo sviluppo in modo che possa essere utile nei seguenti casi:

  1. Comprensibile per i miei senior durante la revisione del codice.
  2. Dovrebbe essere in grado di cercare il mio lavoro dopo un po '.
  3. Può essere fatto in forma di pseudo codice.
  4. Dovrebbe essere in grado di aiutare i juniors o altri sviluppatori quando ci lavorano sopra.

Qualsiasi esempio del mondo reale sarà molto apprezzato.

PS: Non sto discutendo se scrivere o meno commenti.

    
posta FaizanRabbani 23.09.2015 - 18:23
fonte

4 risposte

7

In generale, dovresti non commentare. Invece, dovresti cercare di scrivere un codice semplice, diretto, coerente e leggibile. I commenti invariabilmente non sono aggiornati. Se il tuo codice è buono, sono al massimo una duplicazione degli sforzi e nel peggiore dei casi aggiungono rumore al segnale.

Ma non è sempre possibile, dato che siamo umani e succede qualcosa. Nei casi in cui fai del tuo meglio, ma c'è una buona ragione per cui il codice non può essere semplice, diretto o coerente, quindi aggiungi un breve commento che spieghi perché non lo è.

"Fare le cose in questo modo, a causa di una potenziale condizione di competizione tra X e Y".

"Impossibile farlo in modo normale a causa delle limitazioni della libreria XYZ."

"Questo codice era brutto quando sono arrivato qui, lasciando come è per ora."

    
risposta data 23.09.2015 - 18:33
fonte
1

Spesso conservo la documentazione aggiornata scritta con i commenti Doxygen (o Doxygen-like). Quindi, ogni metodo / funzione ha una / due frasi che descrivono ciò che fa.

E quando una / due frasi non bastano, allora IMHO dovresti rifattarla e dividerla in parti più piccole (vedi filosofia Unix ).

Inoltre, tutti gli algoritmi "complessi" dovrebbero essere rappresentati con grafici, immagini e pseudo-codice facilmente leggibile nella documentazione aggiuntiva.

    
risposta data 23.09.2015 - 19:06
fonte
0

La risposta di Telastyn è abbastanza buona. Aggiungo che i commenti sono molto utili quando devi spiegare qualcosa che letteralmente non può essere espresso in una sintassi valida e leggibile. In altre parole, a volte hai solo bisogno di un diagramma o di un'immagine.

L'arte ASCII potrebbe non essere la migliore, ma può essere migliore di niente e praticamente garantita per essere visibile se l'origine è visibile (tenendo conto sia della disponibilità che del rendering). Tieni presente che includere un link a più approfondimenti (e diagrammi / immagini migliori) può essere una buona idea, ma tieni presente la possibilità che le risorse esterne non siano disponibili o non siano facilmente visualizzate.

Shamus Young ha un articolo sui commenti , che inizia con un commento effettivo lungo quasi cinquanta righe uno dei suoi progetti. Parte di quel commento ha un diagramma usato per dimostrare una griglia esagonale costruita da una griglia quadrata:

[...snip...]

+--|--+--|--+--|--+--|--+
   |     |     |     |
   |  .  |  .  |  .  |
  / \   / \   / \   / \
 /   \ /   \ /   \ /   \
|  .  |  .  |  .  |  .  |
|     |     |     |     |
+--+--+--+--+--+--+--+--+   
   |     |     |     |
   |  .  |  .  |  .  |
  / \   / \   / \   / \
 /   \ /   \ /   \ /   \
|  .  |  .  |  .  |  .  |
|     |     |     |     |
+--+--+--+--+--+--+--+--+   
   ^ 
   |       
   +---This column gets shifted down.

[...snip...]

Prova ad esprimerlo chiaramente nei nomi di variabili e funzioni.

    
risposta data 23.09.2015 - 19:00
fonte
0

Ci sono quattro classi di commenti: -

  1. Cosa deve fare il codice.
  2. Cosa significa realmente questo dato.
  3. Ciò che sta facendo questo strano bit di codice.
  4. Perché abbiamo modificato questa parte di codice.

Per gli articoli 1 e 4 questi dovrebbero essere in "stanze" separate nella parte superiore del codice.

Gli articoli 2 e 3 dovrebbero vivere con la linea di codice che stanno documentando.

Se hai molti commenti di tipo 2 e 3, potrebbe essere il momento di esaminare i tuoi standard di denominazione e lo stile di codifica, poiché il codice chiaro è molto più facile da capire rispetto agli spaghetti dell'alfabeto e ai commenti.

    
risposta data 23.09.2015 - 22:25
fonte

Leggi altre domande sui tag