Cosa ne pensi di Periodi / Soste complete nei commenti sul codice? [chiuso]


27

Ho visto questo fatto nella SO Tavern , quindi sto postando la domanda qui. Ho pensato che fosse una domanda interessante. (Ovviamente non appartiene a SO, ma penso che sia OK qui.)

Aggiungete punti (o, come ha scritto l'OP, "punti fermi") nei vostri commenti sul codice?

Per mantenerlo rilevante, perché ?


2
A volte lo faccio ea volte no. Dipende dai commenti e da cosa lo rende facile da leggere.
Tim

Risposte:


29

Il punto fermo serve per terminare le frasi, ma se un commento è costituito da una sola frase circondata da un codice, a mio avviso non è necessario un punto pieno. A volte non faccio mai lettere maiuscole nella prima lettera. Un commento multilinea dettagliato, d'altra parte, ha bisogno di punteggiatura completa.

// This function returns an average of two integers. Note that it may
// return an irrelevant result if the sum of a and b exceeds the int
// boundaries.

int avg(int a, int b)   // make it static maybe?
{
    // A better algorithm is needed that never overflows
    return (a + b) / 2; 
}

4
+1. Questo assomiglia molto al mio stile di commento che mi ha dato un falso deja vu. :)
Bobby Tables,

26
No, il punto fermo è per segnare la fine delle frasi. Non importa se ne hai uno o più.
Arriva il

2
<joke> Non sarebbe meglio verificare il superamento dei limiti int? </joke>
Dan Rosenstark

2
@Yar: una media è sempre tra aeb, che per definizione sono sempre entro i limiti, giusto? ;)
mojuba,

8
Tutte le mie stringhe sono nulle, quindi un commento corretto dovrebbe sempre finire con '\ 0' Non vuoi che il prossimo ragazzo che guarda il tuo codice legga oltre la fine della sua mente, vero?
CodexArcanum,

26

Sì, perché i commenti sono in inglese e l'inglese corretto utilizza la punteggiatura.


2
Che ne dici di messaggi di testo?
Moshe,

4
@Moshe, i messaggi di testo non sono un inglese corretto.
Dominique McDonnell,

8
L'inglese non è proprio corretto, ma uso ancora la punteggiatura. La punteggiatura è lì per guidare il lettore esattamente su ciò che l'autore intendeva: questo vale per qualsiasi lingua, IMHO.
cjmUK,

@cjmUK, Lol, sì e anche io. Pensavo che Moshe intendesse come motivo per cui non avremmo usato la punteggiatura, dato che ricevo regolarmente messaggi come "che wd b gr8 cu there bye" che mi spingono verso il muro
Dominique McDonnell

Ti faccio
nuotare

17

Aggiungete punti (o, come ha scritto l'OP, "punti fermi") nei vostri commenti sul codice?

Per mantenerlo rilevante, perché?

Per lo stesso motivo, li aggiungo quando scrivo un testo "normale" - fanno parte della lingua per iscritto e non dovrebbero esserci nulla di speciale in loro. Li uso ugualmente quando scrivo una frase (una riga) e interi paragrafi.

Il codice sorgente non è un testo normale e pertanto utilizziamo regole diverse per esso. Semplice ;-)


Un mio amico non cattura mai parole nelle e-mail ... perché è su Internet. Per me va bene quando adatti la tua scrittura a limiti tecnici come gli SMS, ma in che modo le e-mail o il codice sorgente differiscono dal testo in lettere e libri?
LennyProgrammers,

1
@ Lenny222 - Non sono sicuro di ciò che stai chiedendo qui. Le e-mail devono essere scritte come un normale testo; come se stessi scrivendo una lettera come dici tu. Come sono effettivamente scritti (e gli SMS, oh ragazzo, non farmi iniziare sugli SMS :) Il codice sorgente non si sottomette alle stesse regole del testo normale, perché ha le sue regole di sintassi.
Torre del

2
Per me i commenti sul codice sorgente devono essere letti dagli esseri umani. Perché dovrebbe fare la differenza se alcune informazioni si trovano in un documento di specifica separato o sono incorporate in un commento del codice sorgente?
LennyProgrammers,

@ Lenny222 - Mi è appena successo qualcosa, quindi solo per non avere fraintendimenti. Stiamo parlando del codice sorgente o dei commenti in esso contenuti? Se è il secondo caso, allora mi scuso, perché ti ho frainteso. In tal caso, le stesse regole valgono per il testo normale (per i commenti). Nel codice sorgente effettivo (quello che viene letto dal compilatore / interprete), non vedo come potrebbero seguire le stesse regole.
Torre del

1
Sì, penso che siamo d'accordo l'uno con l'altro senza saperlo. ;)
LennyProgrammers

9

Se scrivi commenti, si spera che siano scritti in inglese. Stando così le cose, si dovrebbe punteggiare correttamente. Fare diversamente sarebbe pigro.


1
I periodi sono per la fine di una frase. I commenti non sono necessariamente frasi complete.
John B. Lambe,

I commenti, in generale, dovrebbero essere frasi. In caso contrario, dovrei chiedere perché no. Se i tuoi commenti sono così brevi da non essere frasi, sono forse ovvi e quindi superflui?
quick_now

5

Se scrivo una frase completa (o più), allora sì. In caso contrario, a volte no, ma di solito comunque sì.

A volte impazzisco e utilizzo punti esclamativi, punti interrogativi, ecc .;)

Per quanto riguarda il motivo, è in parte perché sono proprio così e in parte perché trovo che la punteggiatura appropriata possa aggiungere molta chiarezza.


Se stai usando punti interrogativi, capisci il tuo codice?
Moshe,

@Moshe: quelli sono di solito in TODO quando potrei non ancora comprendere appieno il mio codice.
Adam Lear

2
@Moshe - Perché i commenti non possono includere domande? Le domande possono essere retoriche. In effetti, spesso noi? nei miei commenti - quando si descrive il codice condizionale, piuttosto che una spiegazione asciutta della logica, è spesso più chiaro descrivere la logica come una domanda. Ad esempio "I criteri di qualificazione sono stati soddisfatti? Se No, visualizza un avviso per l'utente."
cjmUK,

1
Nel lavorare con grandi progetti e molti collaboratori trovo spesso i commenti più importanti.
LennyProgrammers,

3

Le altre risposte e la loro popolarità hanno chiarito che i punti pieni sono apprezzati nei commenti più lunghi e probabilmente possono essere evitati in una riga.

Un altro punto che potrebbe essere rilevante è quello di evitare i punti esclamativi, in particolare i multipli . Esempio:

    // Though loop is labor-intensive, performance is fine with with 95K cases!!!

e

    // This code really sucks!

D'altra parte, a volte i punti interrogativi sono piuttosto utili:

    // TODO: What does Crojpler.bway() actually do?

1

Dipende. Se scrivo un paragrafo grande e appropriato che spiega cosa fa un blocco di codice, allora lo punteggio correttamente, come qualsiasi altro pezzo di scrittura corretta. OTOH, quando commento solo una singola riga di codice, allora non lo faccio.

Perché? - Simile al motivo per cui scrivo e-mail usando la scrittura corretta, mentre potrei usare frasi abbreviate nei messaggi SMS. In un caso mi siedo per scrivere un blocco di testo adeguato, quindi lo faccio automaticamente "correttamente", mentre nell'altro è solo una breve nota per ottenere un punto.

Veri esempi dal mio codice:

Commento rapido della nota:

// check for vk_enter

Documentazione del metodo "corretta":

// This method sets up a workspace tab with the given name. Each MDI window has a parent
// workspace specified when it's saved. The code which loads each MDI window then point it to
// the correct workspace.

Sviluppatore .NET, eh? ;-)
Moshe

@Moshe: Java in realtà. Questo è il codice di un'applet molto grande e complessa, sostanzialmente come un'app Swing desktop, tranne per il fatto che viene eseguita nel browser. :)
Bobby Tables,

Pensavo che MDI fosse un termine .NET.
Moshe,


1

Sì, penso che in questo modo crei una buona convenzione di codifica e crei anche un codice leggibile per una terza persona che revisiona il tuo codice.


1
E una seconda persona?
daviewales,

0

Sarò sempre correttamente capitalizzare e punteggiano durante la creazione di commenti XML che mi aspetto di essere visto in IntelliSense e nella nostra documentazione generata . Questi sono costrutti molto più formali e dovrebbero essere trattati come tali.

I commenti appena visti nel corpo di un blocco di codice, tuttavia, dovrebbero essere semplicemente il più chiari possibile. Spetta al programmatore come ottenerlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.