Commento (informatica)

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

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 l'esecuzione di alcune porzioni di codice, solitamente lo si fa in previsione di una successiva riabilitazione del codice inibito.

Panoramica[modifica | modifica wikitesto]

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 stress[modifica | modifica wikitesto]

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].

Descrizione[modifica | modifica wikitesto]

Linguaggi di programmazione[modifica | modifica wikitesto]

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 sicurezza[modifica | modifica wikitesto]

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].

Normative[modifica | modifica wikitesto]

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 commenti[modifica | modifica wikitesto]

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.

Esempio[modifica | modifica wikitesto]

/ * 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 ]); 
}

Note[modifica | modifica wikitesto]

  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.
Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica