Alcune delle prime sintassi dei commenti introdotte nella programmazione in cui i commenti delle dichiarazioni. Questo tipo di commenti richiedeva la propria riga.
Ad esempio in base
REM This is a comment.
Questo ha creato un codice sorgente più lungo e ha utilizzato una parola chiave. Più o meno nello stesso periodo sono arrivati i commenti di fine riga che richiedono un solo carattere per iniziare il commento.
Come Fortran o Assemblea
MOV C,1 ; This is a comment
Per le lingue con grammatica semplice questo andava bene, ma con lo sviluppo di una grammatica più avanzata sono stati usati due caratteri per iniziare un commento.
Come in C ++
int c = 1; // This is a comment
O come SQL
SELECT * FROM x -- This is a comment
Molte lingue supportano commenti del blocco oltre ai commenti di fine riga . Queste lingue spesso supportavano l'uso degli operatori matematici *+/
per scrivere espressioni.
Un commento di blocco non può utilizzare la stessa sintassi di grammatica utilizzata per i blocchi di codice. Ad esempio, se { }
viene utilizzato per bloccare il codice, non può essere riutilizzato per i commenti. Lo stesso vale per le parentesi ()
poiché vengono utilizzate per ordinare espressioni matematiche. Così spesso sono stati usati due caratteri per aprire / chiudere il commento del blocco.
Diamo per scontato l'evidenziazione della sintassi degli IDE odierni. Quando sono stati introdotti commenti di blocco alla programmazione, non è stata evidenziata la sintassi. Qualcuno potrebbe facilmente introdurre un bug se i commenti del blocco fossero troppo vicini alle espressioni matematiche.
Ad esempio; Se hai usato (- this is a comment -)
per contrassegnare i blocchi, potresti facilmente scrivere un'espressione matematica come;
int x = 1+(-10);
int y = 2+(z-);
Quanto sopra verrebbe effettivamente compilato a int x = 1+;
Questi tipi di problemi esistono effettivamente in alcune lingue più vecchie. Di conseguenza l'uso di /* this is a comment */
per i commenti su più righe è diventato molto popolare. Il motivo è che visivamente /*
non è un'operazione matematica valida.
Ad esempio;
int x = 1 /* 8;
int y = 3 */;
Per un lettore umano non c'è errore. Non è una matematica valida. Puoi ancora leggere il commento all'interno dell'espressione. StackExchange sta aggiungendo l'evidenziazione della sintassi (lol) ma l'immagine è senza e colori.
Questo è diventato un blocco di commenti standard perché ha risolto molti problemi grammaticali nell'analisi del linguaggio rimanendo facilmente identificabile come commento.
Quando VS aggiunge un extra% di*
a ciascuna linea. È per garantire la leggibilità del commento quando non è presente l'evidenziazione della sintassi. Se apri il codice sorgente in un normale editor di testo, quelle righe sono chiaramente indicate come un commento.
Se l'inizio di un commento /*
scorre sopra lo schermo. Non c'è modo di sapere se quello che stai leggendo è un commento o no. Esempio; qualcuno ha bloccato un blocco di codice.
I was just curious if this was the case in programming languages other than C#, or if there was a specific reason for this template.
La ragione specifica è la leggibilità umana e non ha nulla a che fare con il linguaggio di programmazione stesso. Per i commenti lunghi che possono scorrere fuori dallo schermo, il lettore può capire che il testo è un commento.
Qualsiasi carattere sarebbe sufficiente come questo esempio;
/*
# Still a comment.
# Still readable if very long.
#
#
*/
Visual Studio aggiungerà automaticamente *
caratteri ai commenti su più righe. Questa è un'opzione configurabile nell'IDE.
Va notato che anche altri IDE popolari offrono questa funzionalità. L'ho visto in Eclipse, WebStorm, IntelliJ e NetBeans. Questi editor aggiungeranno nuove righe ai blocchi di commenti mentre digiti per linguaggi come C ++, Java e PHP.
Non ho mai visto questo fatto per i commenti di blocchi XML o HTML in nessun editor. Sembra essere una caratteristica comune per i linguaggi in stile C.