Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Syntax Highlighting ed effetti collaterali sulla programmazione

Syntax Highlighting ed effetti collaterali sulla programmazione
Link copiato negli appunti

L'evidenziazione della sintassi (Syntax Highlighting) è una diffusa modalità per la visualizzazione del codice sorgente che permette di differenziare costrutti ed elementi sulla base di colorazioni e font differenti, insieme all'indentazione e alla documentazione inline rappresenta uno strumento concepito per semplificare le sessioni di programmazione. Ma si tratta realmente di una soluzione in grado di incrementare la produttività?

A tal proposito lo sviluppatore Robert Melton ha recentemente condotto un esperimento basato sulla realizzazione e l'adozione di una skin minimale per vim, l'editor Open Source creato per mettere a disposizione una versione più usabile di Vi e della sua interfaccia testuale; No Frils, questo il nome del tema, è in sostanza un colorscheme che esclude gran parte dell'evidenziazione della sintassi con lo scopo di sottolineare unicamente errori, commenti, features dell'editor e (opzionalmente) background per le stringhe.

I risultati dell'esperimento condotto non hanno decretato l'inutilità della Syntax Highlighting, e in ogni caso non era questo l'obbiettivo prefissato, ma avrebbero permesso di isolare alcune criticità nel suo utilizzo. Innanzitutto la nuova skin si sarebbe rivelata utile per individuare più velocemente le componenti di codice meno familiari, con un impatto meno traumatico del previsto nella stesura dei blocchi di codice più complessi.

Da questo punto di vista è interessante fare riferimento ad una constatazione solo apparentemente scontata: è intuitivo pensare che l'occhio umano sia attratto soprattutto dai colori più accesi e contrastanti, ma è forse meno scontato il dato che ci permette di capire quale sia l'effetto di tale fenomeno a carico della produttività. Tendenzialmente il cervello umano è in grado di processare i termini più rapidamente dei colori.

Cosa accade però quando le stringhe sono associate ai colori? Per rispondere a questa domanda è possibile fare riferimento al cosiddetto effetto Stroop che permette di valutare la variazione dei tempi di reazione nell'esecuzione di un compito, come per esempio pronunciare il colore con cui è stata stampata una parola quando il suo significato è un colore diverso da quello con cui è stata stampata, ad esempio la parola "giallo" scritta in rosso.

L'effetto Stroop consentirebbe di osservare un rallentamento dei tempi di reazione e un incremento degli errori rispetto ai casi in cui i termini sono invece associati ai colori che descrivono. Nella Syntax Highlighting avverrebbe qualcosa di molto simile dato che i colori utilizzati potrebbero rappresentare un ulteriore carico cognitivo da elaborare, ciò porterebbe all'accumularsi di rallentamenti brevissimi se misurati singolarmente che però finirebbero per avere un loro peso sul complesso delle ore dedicate allo sviluppo di un progetto.

La Syntax Highlighting porterebbe poi a privilegiare le singole componenti di un codice (item specific processing) a discapito di un maggiore investimento cognitivo sulle loro relazioni (organizational processing) che consentirebbe di analizzare più efficacemente le porzioni di codice maggiormente articolate.

Quanto detto non nega necessariamente il fatto che l'evidenziazione della sintassi possa rappresentare un vantaggio per la programmazione, si potrebbe però partire dalle argomentazioni esposte per condurre una sperimentazione personale e valutare quale possa essere l'impatto sul proprio lavoro della rimozione del Syntax Highlighting.

Via: Robert Melton

Ti consigliamo anche