Il compito degli sviluppatori non è meramente quello di scrivere codice, ma anche di farlo con dei criteri specifici. Mantenerlo pulito è indispensabile, sia per sé stessi sia per garantire che sia leggibile da chi lo prenderà in mano in futuro. Chiunque dovrà averci a che fare, che sia la stessa o un’altra persona, deve essere in grado di capire senza difficoltà lo scopo di ogni riga o metodo, per individuare più facilmente gli errori e agire tempestivamente.
Se è vero che è importante, è altrettanto vero che è difficile sottostare alle best practice di scrittura, a causa spesso delle scadenze imminenti con cui ci si trova a fare i conti. Scrivere codice ordinato e preoccuparsi sempre della chiarezza di ciò che si produce è stancante, ma è fondamentale. Esistono però dei tool che aiutano i programmatori a mantenere il codice pulito.
Cosa significa “pulito”?
Un codice come si deve deve essere elegante. Questo significa che non deve essere ostico da leggere, in termini prettamente visivi: questo implica, ad esempio, una corretta indentazione per evidenziare le diverse parti e le diverse logiche. Inoltre, i nomi delle variabili, classi, funzioni, metodi devono essere significanti ed espressivi, in modo che un lettore non debba addentrarsi nel codice per capire il significato di ogni istruzione. In un mondo come l’informatica, dove lo scambio di progetti e il passaggio di consegna sono frequenti, è indispensabile agire con la consapevolezza che non sarà sempre la stessa persona ad avere a che fare con ciò che ha scritto.
I commenti dovrebbero essere ridotti il più possibile. Se funzioni, classi e variabili sono state correttamente nominate, non sarà necessario commentare ogni dichiarazione. Un solo commento utile potrà essere inserito per spiegare la logica generale di, ad esempio, una classe oppure di una funzione particolarmente complessa.
Un altro aspetto importante riguarda l’eliminazione di parti duplicate. La ridondanza rende il codice confusionario; meglio invece racchiudere una logica utilizzata ripetutamente in una funzione da richiamare al bisogno.
Alcuni tool
Prettier
Questo tool permette di formattare il codice in maniera specifica e automatica. Modificando il file di configurazione, è possibile specificare delle regole di formattazione che verranno applicate al nostro codice quando lo riterremo necessario.
Prettier è semplice da usare e molto comodo per pulire anche il codice già esistente. Utilizzando questo tool, non ci sarà più bisogno di sprecare tempo ed energie per aggiustare l’aspetto di ciò che abbiamo scritto.
ESLint
Un “linter” è un tipo di analisi statica che permette di trovare dei pattern problematici o del codice che non aderisce a determinate linee guida di stile. Ne esistono diversi, più adatti a un linguaggio piuttosto che a un altro; ESLint viene utilizzato per Javascript. Essendo questo un linguaggio loosely-typed e dinamico, il tool è molto comodo, in quanto non è necessario eseguire il codice per utilizzarlo.
Husky
Questo tool permette al programmatore di eseguire i Git hooks. Questi sono sostanzialmente degli script che Git esegue prima o dopo un determinato evento, quali ad esempio commit o push. Ciò significa che possono essere eseguite azioni custom subito prima di effettuare un’operazione sul repository, ad esempio eseguire dei test o formattare il codice.
Lint-staged
Come il nome suggerisce, questo tool permette di effettuare linting su quei file che sono nella fase di staging, subito prima di un push. In questo modo si evita di caricare file con errori o che non seguono il corretto stile del codice. Un’ottima strategia potrebbe essere quella di utilizzare Husky e Lint-staged in combinazione, configurando tramite il primo tool l’esecuzione di uno script lint-staged.