Commento (informatica)Il commento, nell'ambito dei linguaggi di programmazione, è una sequenza delimitata di caratteri nel codice sorgente che non risulta nell'algoritmo risolutivo codificato e che solitamente ha lo scopo di descriverne le caratteristiche funzionali, ovvero di spiegare il funzionamento delle linee di codice adiacenti. Durante il processo di compilazione o interpretazione queste istruzioni sono ignorate e di conseguenza non concorrono a determinare la difficoltà computazionale e il peso del file eseguibile[1]. Queste notazioni hanno particolare rilevanza, soprattutto se il programma è sviluppato da più collaboratori e in un ampio arco temporale, infatti aumenta la leggibilità (o intelligibilità) per il lettore e favorisce così manutenzione e aggiornamento del codice. I commenti vengono spesso usati anche per omettere temporaneamente l'esecuzione di alcune porzioni di codice, in modo che non vengano eseguite senza tuttavia rimuoverle dal codice sorgente stesso. Quest'ultima pratica è spesso usata in fase di debugging del programma. PanoramicaI 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)[2]. 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, al contrario di altri (come Java)[3][4][5]. I commenti di riga iniziano con un delimitatore 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[5]. 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 Sollievo dallo stressA volte i programmatori aggiungono commenti per alleviare lo stress criticando 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[6]. DescrizioneLinguaggi di programmazioneOgni 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[7].
Problemi di sicurezzaNei linguaggi interpretati i commenti sono visualizzabili dall'utente finale nel codice del programma. In alcuni casi, ciò potrebbe presentare una vulnerabilità di sicurezza[8]. NormativeEsistono vari punti di vista normativi e opinioni di lunga data sull'uso corretto dei commenti nel codice sorgente[9][10]. Alcuni di questi sono informali e basati sulle preferenze personali, mentre altri sono pubblicati o promulgati come linee guida formali per una particolare comunità o gruppo di lavoro[11]. Necessità di commentiGli esperti di informatica teorica hanno punti di vista divergenti sull'opportuna quantità e posizione di commenti nel codice sorgente[12][13]. Alcuni affermano che dovrebbe contenere pochi commenti, basandosi sul fatto che il codice dovrebbe essere auto esplicativo (o auto-documentante)[12]. Altri suggeriscono che dovrebbe essere ampiamente commentato per aumentarne chiarezza e leggibilità (non è raro che oltre il 50% dei caratteri diversi da spazi nel file sorgente siano contenuti nei commenti)[senza fonte]. I sostenitori di ambedue i punti di vista concordano che i commenti non sono di per sé né vantaggiosi né dannosi, ma ciò che conta è che siano corretti e mantenuti inerenti al codice sorgente, o omessi se superflui, eccessivi, inefficaci o comunque inutili. I commenti vengono talvolta utilizzati per documentare i contratti nei progetti su commissione. Esempio// 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
Altri progetti
Collegamenti esterni
|