Che cos'è la comprensione del programma?
La comprensione del programma è la capacità di un programmatore di capire cosa fa il codice sorgente di un programma per computer. Nell'istruzione informatica, la comprensione di un programma viene spesso trascurata a favore dell'apprendimento della meccanica e della sintassi del linguaggio del computer che viene insegnato. Scrivere un codice comprensibile, tuttavia, è un'esigenza universale, indipendentemente dal linguaggio informatico in cui è scritto. Se un programmatore scrive una libreria o un pezzo di codice, ma nessuno può determinare cosa fa in seguito, l'algoritmo e la logica dietro quel codice possono essere facilmente persi. È sempre più comune che i programmatori non possano decifrare il proprio codice, poiché spesso non è scritto in modo chiaro e intuitivo.
Esistono due strategie principali che i programmatori possono utilizzare per migliorare la comprensione del programma e ognuna ha i suoi vantaggi e svantaggi. Il primo metodo consiste nell'aggiungere documentazione al codice durante o dopo la creazione del codice, mentre il secondo è scrivere codice ponendo l'accento sulla sua struttura. Una combinazione di entrambi gli approcci è utile per la maggior parte dei programmatori, anche se ci sono alcuni sviluppatori di codice che preferiscono una strategia piuttosto che un'altra. Quale metodo utilizzare è una questione di preferenza personale da parte del programmatore e qualsiasi tentativo di chiarire il codice è di gran lunga migliore di nessuno.
Aggiungere la documentazione al codice è il più semplice dei due metodi e, se fatto bene, può essere una stampella molto utile per un programmatore che non ha familiarità con la lingua in cui è scritto il codice. La maggior parte dei linguaggi per computer ha uno stile di documentazione specifico per facilitare la comprensione del programma. Se la documentazione del codice è scritta accuratamente, il primo passo di un nuovo programmatore può essere quello di leggere tutta la documentazione e i commenti per capire come funziona il programma, senza aver letto affatto il codice. Invece di dipendere dalla sintassi e dalla meccanica del codice, il programmatore può vedere cosa sta succedendo in testo semplice, quindi mettere in relazione il testo con ciò che sta accadendo in un determinato posto. Quando si aggiunge la documentazione al codice, tuttavia, i programmatori devono essere cauti, poiché troppa documentazione può essere confusa e invadente, piuttosto che utile.
Quando si scrive codice con un'enfasi sulla struttura, un programmatore presume che qualsiasi altro manutentore che osserva il proprio codice abbia una conoscenza equivalente della sintassi e della meccanica del linguaggio. A volte, questo è un presupposto valido, ma non può sempre essere invocato. È possibile una comprensione del programma basata in gran parte sulla struttura, ma ci vuole molto più lavoro da parte del programmatore originale per facilitarla. La meccanica e la sintassi del linguaggio devono essere seguite esattamente, così come tutte le convenzioni stilistiche, e tutto deve essere coerente. Quando si scrive codice in questo modo, un programmatore deve sempre essere consapevole che ciò che gli è chiaro potrebbe non essere chiaro a un'altra persona.
Anche quando si scrive il codice con un occhio per la successiva comprensione del programma, in seguito potrebbero essere necessari ulteriori documenti o modifiche strutturali. Questa è una parte naturale della manutenzione del codice e non un errore da parte del programmatore. Il lavoro di un programmatore è quello di anticipare quanti più problemi di comprensione possibile, ma non tutti vengono sempre colti.