Clean Code, Clean Work

by nicola aramini

Posted on giugno 30, 2017 at 09:40 AM

Poco tempo fa ho letto un libro che ha cambiato il mio modo di scrivere codice.
Questo libro si chiama “Clean Code” di Robert C. Martin, conosciuto ai più come Uncle Bob.

Dopo aver letto il libro ho insistito con i miei colleghi di team sull’importanza di scrivere “clean code” e, probabilmente (o almeno spero!), qualcuno si è accorto che non dicevo solo stupidate e mi ha chiesto di scrivere questo articolo.

Ma che cos’è “Clean Code”?
Uncle Bob, all’inizio del libro, tenta di descrivere che cosa significa raccogliendo definizioni dei “grandi” dello sviluppo (Martin Fowler, Kent Beck, …).
Di tutte le definizioni quella che preferisco arriva dalle seguenti domande:

  • ti piace scrivere codice?
    la mia risposta è si
  • ti piace leggere codice?
    la mia risposta è si, ma comincio già a storgere un pochino il naso
  • ti piace leggere codice che hanno scritto altri?
    …quasi mai…
  • quante volte avete letto codice di altri e avete esclamato: ma come funziona ‘sta roba??? non si capisce niente! (o peggio)?
    personalmente il mio numero non è propriamente basso.

Appena lette queste domande ho realizzato: leggere il codice che hanno scritto altri (o che ho scritto io qualche mese fa) di solito fa schifo.
Se a questo aggiungiamo che una classe verrà scritta molto meno spesso di quanto verrà letta, cos’è “Clean Code” è presto detto.

Ma perchè?
Perchè il codice, spesso, è scritto come codice che deve fare cose e non come un codice che deve essere anche leggibile (e chiaramente deve funzionare!).
Questo è il motivo per cui, leggere il codice altrui significa entrare nella mente dell’autore e non capire ciò che si vede nell’IDE di sviluppo.

All’inizio dell’articolo ho scritto che questo libro ha cambiato il mio modo di scrivere codice ma non ho specificato se in meglio o in peggio.
Questo perchè non esiste un modo per misurare quanto il nostro codice sia “Clean”: potremmo anche aver scritto anche 1000 righe con 0 bug ma, se questo codice può manutenerlo solo il suo autore abbiamo un problema…
Inoltre io potrei leggere benissimo il codice di pippo ma il codice di pluto potrebbe essere arabo per me, mentre, per i miei compagni di team, potrebbe essere l’esatto contrario.
In sintesi, per creare codice pulito è utile darsi delle convenzioni (a livello aziendale o di team) che aiutino a definire cosa è leggibile e cosa non lo è.

Questo era solo una piccola intro: purtroppo non riuscirò a spiegare tutto quello che ho da dire in un singolo articolo, quindi, nel caso siate interessati all’argomento, dovrete rimanere
“sintonizzati su queste reti”!

Nei prossimi articoli parleremo di:

  • nomi degli obj
  • metodi
  • classi
  • commenti
  • formattazione
  • object and data structure
  • error Handling
  • unit test.
A presto e … good coding.

Notizie sull'autore

nicola aramini

Nicola Aramini Hi! I'm Nicola and I'm a .NET software developer at Elfo. I like my job and i like change to improve. In my free time, as often as I can, i go to the conferences and to the events in order to keep me posted on the new topic about software development.