Commento (informatica)

Il commento, nell'ambito dei linguaggi di programmazione, è una parte del codice sorgente che ha il solo scopo di descriverne le caratteristiche funzionali, ovvero di spiegare il funzionamento delle successive linee di codice, e che non fa parte dell'algoritmo risolutivo codificato in linguaggio di programmazione. Durante il processo di compilazione queste istruzioni sono ignorate e di conseguenza non pesano computazionalmente sulla grandezza dell'eseguibile prodotto. Queste particolari notazioni hanno molta importanza, soprattutto se il programma è sviluppato da persone diverse e in tempi diversi, aumentandone la leggibilità/intelligibilità al lettore e favorendone così la manutenzione. I commenti vengono anche usati per inibire temporaneamente l'esecuzione di alcune porzioni di codice, con lo scopo di non eseguire alcune parti del codice senza tuttavia rimuoverle dal codice sorgente stesso. Quest'ultima pratica può essere utilizzata in fase di debugging del programma.

PanoramicaModifica

I commenti sono generalmente formattati come commenti di blocco (chiamati anche commenti di prologo o commenti di flusso) o commenti di riga (chiamati anche commenti in linea)[1].

I commenti di blocco delimitano un'area del codice sorgente che può estendersi su più righe o su una parte di una singola riga. Questa regione è specificata con un delimitatore iniziale e un delimitatore finale. Alcuni linguaggi di programmazione (come MATLAB) consentono di annidare ricorsivamente i commenti a blocchi l'uno nell'altro, ma altri (come Java) non lo fanno[2][3][4].

I commenti di riga iniziano con un delimitatore di commento e continuano fino alla fine della riga o, in alcuni casi, iniziano da una colonna specifica (offset di riga dei caratteri) nel codice sorgente e continuano fino alla fine della riga[4].

Alcuni linguaggi di programmazione utilizzano commenti di blocco e di riga con delimitatori di commento diversi. Ad esempio, C ++ ha commenti di blocco delimitati da /*e */che possono estendersi su più righe e commenti di riga delimitati da //. Altre lingue supportano solo un tipo di commento. Ad esempio, i commenti di Ada sono commenti di riga: iniziano con --e continuano fino alla fine della riga[4].

Sollievo dallo stressModifica

A volte i programmatori aggiungono commenti per alleviare lo stress commentando gli strumenti di sviluppo, i concorrenti, i datori di lavoro, le condizioni di lavoro o la qualità del codice stesso. Il verificarsi di questo fenomeno può essere facilmente visto dalle risorse online che tracciano parolacce nel codice sorgente[5].

DescrizioneModifica

Linguaggi di programmazioneModifica

Ogni linguaggio possiede una propria sintassi per permettere al programmatore di inserire commenti nel codice. Nella tabella sottostante sono riportate le indicazioni relative ad alcuni dei più utilizzati linguaggi di programmazione e di markup[6].

Linguaggio Commento singolo Commento su più righe
Assembly ;
Autoit ; #cs #ce
BASIC REM oppure '
Bash #
C // /* */
C++ // /* */
Cobol * nella settima colonna
Fortran !
HTML <!-- -->
Java e JavaScript // /* */
Matlab % %{ ... %}
Pascal { } oppure (* *)
PHP // oppure # /* */
Python # """ """
YAML # #

Problemi di sicurezzaModifica

Nelle lingue interpretate i commenti sono visualizzabili dall'utente finale del programma. In alcuni casi, come le sezioni di codice "commentate", ciò potrebbe presentare una vulnerabilità di sicurezza[7].

NormativeModifica

Esistono vari punti di vista normativi e opinioni di lunga data sull'uso corretto dei commenti nel codice sorgente[8][9]. Alcuni di questi sono informali e basati sulle preferenze personali, mentre altri sono pubblicati o promulgati come linee guida formali per una particolare comunità[10].

Necessità di commentiModifica

Gli esperti hanno diversi punti di vista sull'opportunità e il momento in cui i commenti sono appropriati nel codice sorgente[11][12].  Alcuni affermano che il codice sorgente dovrebbe essere scritto con pochi commenti, sulla base del fatto che il codice sorgente dovrebbe essere autoesplicativo o auto-documentante[11].  Altri suggeriscono che il codice dovrebbe essere ampiamente commentato (non è raro che oltre il 50% dei caratteri diversi da spazi nel codice sorgente siano contenuti nei commenti).

Tra questi punti di vista c'è l'affermazione che i commenti non sono né vantaggiosi né dannosi di per sé, e ciò che conta è che siano corretti e mantenuti sincronizzati con il codice sorgente, e omessi se sono superflui, eccessivi, difficili da mantenere o comunque inutili.

I commenti vengono talvolta utilizzati per documentare i contratti nell'approccio progettazione per contratto alla programmazione.

EsempioModifica

/ * esegue un ciclo all'indietro attraverso tutti gli elementi restituiti dal server 
(devono essere elaborati cronologicamente) * / 
for  ( i  =  ( numElementsReturned  -  1 );  i  > =  0 ;  i - )  { 
    / * elabora i dati di ogni elemento * / 
    updatePattern ( i ,  returnElements [ i ]); 
}

NoteModifica

  1. ^ J.B. Dixit, Computer Fundamentals and Programming in C, Laxmi Publications, 2003, ISBN 978-81-7008-882-0.
  2. ^ Desmond Higham, MATLAB Guide, SIAM, 2005, ISBN 978-0-89871-578-1.
  3. ^ Al Vermeulen, The Elements of Java Style, Cambridge University Press, 2000, ISBN 978-0-521-77768-1.
  4. ^ a b c Using the right comment in Java, su javadude.com, 4 marzo 2000. URL consultato il 24 luglio 2007.
  5. ^ Linux kernel word count, su www.vidarholen.net. URL consultato il 15 marzo 2021.
  6. ^ Jessica Keyes, Software Engineering Handbook, CRC Press, 2003, ISBN 978-0-8493-1479-7. discusses comments and the "Science of Documentation" p. 256.
  7. ^ Mandy Andress, Surviving Security: How to Integrate People, Process, and Technology, CRC Press, 2003, ISBN 978-0-8493-2042-2.
  8. ^ Pete Goodliffe, Code Craft, San Francisco, No Starch Press, 2006, ISBN 978-1-59327-119-0.
  9. ^ T. Smith, Intermediate Programming Principles and Techniques Using Pascal, Belmont, West Pub. Co, 1991, ISBN 978-0-314-66314-6.
  10. ^ See e.g., Peter Koletzke, Oracle Developer Advanced Forms & Reports, Berkeley, Osborne/McGraw-Hill, 2000, ISBN 978-0-07-212048-6. page 65.
  11. ^ a b The Elements of Programming Style, Kernighan & Plauger
  12. ^ Worst Practice - Bad Comments, su sqlservercentral.com. URL consultato il 24 luglio 2007.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica