Una delle prerogative di un buon sviluppatore è la consapevolezza che il codice non viene scritto solo per i computer che lo devono eseguire, ma anche per gli esseri umani.
Scrivere un codice pulito e ordinato è importante per renderlo comprensibile al team con lavoriamo e soprattutto a noi stessi, dato che in questo lavoro è abbastanza comune lavorare su più progetti contemporaneamente.
Oltre ad essere comprensibile, un codice pulito è facilmente manutenibile ed estensibile.
Per ottenere un codice pulito basta utilizzare la tecnica del clean code.
Cos’è il clean code?
Il clean code è un insieme di princìpi che ci permette di scrivere codice comprensibile e facile da modificare e integrare.
Perché parliamo di principi e non di regole?
Ogni sviluppatore ha un’idea generale soggettiva su come scrivere del buon codice e su come questo deve essere strutturato per essere definito pulito.
Per questo non ci sono regole ma suggerimenti che, in linea generale, rendono il codice facilmente comprensibile per tutti.
Il codice per essere definito "pulito" deve essere:
- facile capire il flusso di esecuzione;
- facile capire come i diversi componenti collaborano per portare a termine l’esecuzione;
- facile comprendere i ruoli e le responsabilità delle classi;
- facile capire cosa fa ogni singola funzione;
- facile capire cosa rappresenta ogni espressione o variabile;
- ogni classe ed ogni metodo ha una singola responsabilità;
- facilmente testabile.
Come fare per scrivere un codice pulito?
Certo, non è semplice e immediato scrivere un codice che rispetti tutte le caratteristiche scritte in precedenza; d'altro canto per poter raggiungere una buona pulizia c’è bisogno di esperienza e di rispettare alcune best practices.
- DRY – Don’t repeat yourself
Il DRY (Don’t Repeat Yourself) è uno dei principi più importanti della programmazione, infatti, secondo questo principio, un singolo pezzo di codice deve essere presente in un unico punto del sistema e deve poter essere riutilizzato ogni volta che necessitiamo della sua funzione.
Qui un esempio di principio DRY applicato:
- In questo esempio, utilizziamo un ciclo for per evitare la ripetizione dei console log
Un modo migliore per applicare al massimo il principio DRY è astrarre il codice in funzioni e richiamarlo all’occorrenza. Grazie all’astrazione del codice in una funzione, possiamo riutilizzare lo stesso codice su diverse strutture dati.
- Nomi delle variabili e delle funzioni
I nomi delle variabili che rappresentano i dati all’interno del nostro programma devono essere esplicativi, devono fornire un’indicazione rapida di ciò che rappresentano e devono essere facilmente ricercabili e individuabili.
Anche i nomi delle funzioni devono essere esplicativi; in questo caso, è facile intuire lo scopo della funzione getUserName.
Inoltre, per essere definite “pulite”, oltre ad avere un nome esplicativo, le funzioni devono essere corte (con meno istruzioni possibile), devono occuparsi di un solo compito (single responsibility) e non devono ammettere più di tre parametri.
- Indentazione
Un codice ben indentato, si sa, è molto più leggibile di un codice non indentato. È buona norma, quindi, indentare il codice per rendere subito chiari i livelli.
- Commenti
I commenti possono essere un’arma a doppio taglio, nello specifico, commenti ridondanti, ovvi e troppo dettagliati, possono rendere il codice pesante da leggere. Inoltre, un commento non dovrebbe mai spiegare cosa fa una funzione perché, in quel caso, abbiamo scritto una funzione in modo non esplicativo e non abbiamo quindi rispettato uno dei principi del clean code.
I commenti utili possono essere, ad esempio, i TO DO oppure i commenti che documentano un pezzo di codice esterno.
Queste linee guida rappresentano un buon punto di partenza per scrivere del codice in maniera pulita.