top of page
  • Immagine del redattoreElvis Informatico

Programmare e saper commentare

Aggiornamento: 10 apr 2020

/**/, //, --, rem... Non sono parolacce ma bensì commenti, cos'è un commento? Fondamentalmente un appunto, niente di più, ma molto, molto prezioso. Nel ciclo di vita di un software si parte sempre dai requisiti, vuol dire che quando si decide di fare un programma, occorre definire a monte cosa vogliamo che faccia. Quindi, qual è il requisito? Supponiamo di voler cancellare i file più vecchi di una certa data in una cartella Pinco Pallino del nostro sistema operativo, questo è esattamente il requisito. Ora, affinché si possa scrivere il programma che vogliamo realizzare, il requisito scritto sopra non basta, occorre infatti dettagliare atomicamente tutte le operazioni da eseguire, occorre dunque scrivere delle specifiche. Una volta redatte le specifiche, lo sviluppatore ha praticamente tutto per iniziare a scrivere il programma richiesto. Supponiamo che verrà realizzato uno script bash (linguaggio di programmazione dei sistemi operativi Unix), ciò che verrà scritto all'interno, è del codice che solo il sistema operativo saprà interpretare ed eseguire, oltre ovviamente al programmatore che lo ha sviluppato. Supponiamo adesso che chi ha realizzato lo script abbia trovato fortuna altrove e si sia licenziato, arriverà qualcun altro al suo posto che non conoscerà ciò che è stato fatto, nel frattempo i requisiti sono cambiati, sono state scritte delle cosiddette evolutive, adesso il cliente vuole che lo script non cancelli i dati, ma li sposti in una cartella apposita a seconda della data dei file. Il nuovo sviluppatore dovrà entrare nel merito dello script, capire com'è stato scritto e modificarlo opportunamente, sicuramente non avrà nemmeno tempo e modo per leggere i documenti di specifica. Ma non tutto il male viene per nuocere, a vedere bene uno stralcio dello script bash, ci sono delle righe che sembrano scritte proprio in italiano:


cd /home/Pinco Pallino/

# mi sposto nella cartella utente e verifico la presenza di file con la variabile num

num=$( ls | wc -l )

# applico di seguito la condizione if per capire se cancellare eventuali file o no

if [ $num != 0 ]


Quelle righe, anticipate dal carattere # sono proprio dei commenti, e come vedete, sono molto utili, perchè aiutano a capire qual è la logica adottata nella fase di sviluppo. In un mondo che si muove a ritmi velocissimi, cambiare lavoro è molto facile, le persone si alternano continuamente sui progetti e tramandare ai posteri il senso e la storia di ciò che è stato fatto è preziosissimo. Ora, ogni linguaggio ha la sua sintassi, abbiamo appena visto che in bash i commenti vengono fatti con #, quel carattere indica che l'interprete dei comandi non considererà l'intera riga durante l'esecuzione dell'intero script, semplicemente la salterà. A seconda della tecnologia utilizzata e del linguaggio, i caratteri di commento possono variare, vi sono inoltre caratteri che permettono di far ignorare solamente la riga, mentre altri consentono di aprire e chiudere un commento indipendentemente da quante righe lo compongano, attraverso dei caratteri di inizio e fine (ad esempio /* su Oracle aprono il commento, mentre */ lo chiudono, vedere immagine sottostante: la parte in grigio sono commenti che l'interprete dei comandi ignora proprio in quanto tali, la query viene invece eseguita correttamente). Insomma, occorre sempre fare buon uso dei commenti all'interno del codice, devono saper esprimere in pochissime righe il senso dello stesso, guidare chi lo sta decodificando a capirlo globalmente, anche per un altro motivo: chi sviluppa lavora su decine di progetti, molti dei quali subiscono battute d'arresto, per poi tornare prepotentemente in primo piano. Capita dunque di dover tornare dopo mesi, se non anni, su un progetto del quale ormai non si ricorda più nulla, pur avendolo sviluppato personalmente, be', trovare dei preziosi commenti aiuterà a rinfrescare la memoria molto più velocemente di quanto si possa immaginare.



1.876 visualizzazioni0 commenti

Post recenti

Mostra tutti
bottom of page