Cosa è il clean code

Cosa è il clean code o clean code programming.

C’è stata un’azienda che ha creato un’applicazione killer che è diventata piuttosto popolare tra molti utenti. Dopo diversi rilasci/aggiornamenti, il numero di bug è aumentato e alla fine le persone si sono sentite abbastanza frustrate da smettere di usarla e l’azienda è fallita. Quando si chiese a uno degli ingegneri cosa fosse successo, egli disse:

” Avevamo affrettato l’arrivo del prodotto sul mercato e avevamo fatto un’enorme confusione nel codice. Man mano che aggiungevano altre funzionalità, il codice peggiorava sempre di più, finché non riuscimmo più a gestirlo”.

Ecco il potere del codice scadente: può far crollare la vostra organizzazione. A proposito, anche voi avete scritto codice scadente qualche volta nella vostra vita? Quali sono le scuse più diffuse per scrivere codice scadente?

  • Non ho tempo per fare un buon lavoro, il mio capo si arrabbierebbe se mi prendessi più tempo per ripulire il mio codice.
  • Mi sono stancato di lavorare sul programma e volevo semplicemente finirla con questo e dedicarmi alla codifica di un modulo più interessante.
  • Non ho voglia di ripulire il pasticcio e lo rimando a un giorno dopo.


Dopo tutto, un pasticcio funzionante è meglio di niente, no? Ci sono passati tutti, l’abbiamo fatto tutti!

Quanto costa scrivere cattivo codice?
Man mano che il codice si accumula, diventa più difficile da mantenere per gli sviluppatori e quindi rallenta la loro attività. Più gli sviluppatori lavorano su quel disordine, più diventano lenti con il tempo.

Vedendo la diminuzione della produttività, la direzione aggiunge altre risorse per lavorare sul disordine, il che finisce per peggiorare le cose.

In alcuni casi gli sviluppatori si rendono conto del pasticcio che hanno combinato e ne informano la direzione, chiedendo una riprogettazione da zero; la direzione deve piegarsi di fronte al drastico calo di produttività.

A questo punto l’organizzazione deve creare un nuovo team per creare un nuovo sistema da zero, mentre l’altro team deve ancora mantenere il disordine finché i requisiti non vengono soddisfatti dal nuovo sistema.

Dopo qualche tempo, anche il nuovo team si rende conto di aver creato un pasticcio nel tentativo di recuperare il ritardo. Quindi un po’ di refactoring del codice può far risparmiare a voi e alla vostra organizzazione molto tempo, frustrazione e risorse.

Ma di chi è la colpa?
La colpa non è del destino o degli altri, ma di tutto il team che ci lavora! Ecco cosa succede.

Scriviamo codice approssimativo, facciamo promesse poco professionali ai nostri manager e agli addetti al marketing che si aspettano da noi le informazioni necessarie per pianificare le cose e prendere impegni per il progetto.

Forniamo loro dati sbagliati, loro elaborano piani sbagliati e noi costruiamo una base di codice sbagliata, le cose vanno male e finiamo per incolparci a vicenda.

Il cliente/utente convalida il sistema in base al numero di requisiti soddisfatti. I manager si aspettano da noi che elaboriamo il piano e poi lo portiamo avanti secondo le scadenze stabilite.

Pensate al cliente come a un paziente e a voi come a un medico. Voi, in quanto medici, dovete sterilizzare voi stessi e i vostri strumenti prima di operare, il che richiede un po’ di tempo in più anche se il paziente si lamenta del tempo. In quanto medico professionista, dovete difendere il vostro lavoro perché conoscete l’importanza del modo in cui le cose vengono fatte.

Sarebbe poco professionale da parte vostra, in quanto sviluppatori, piegarvi a tutti i voleri del manager che potrebbe non capire i rischi di fare un pasticcio.

Facciamo confusione per rispettare le scadenze, ma il punto da notare è che una volta che facciamo confusione inizia subito a rallentare il lavoro. Per rispettare le scadenze, è necessario mantenere il codice il più pulito possibile.

Ma come? Provate a capirlo.

Che cos’è il clean code?
Non possiamo mai perfezionare il nostro codice. Niente è perfetto, ci saranno sempre dei difetti, ma voi, in quanto sviluppatori professionisti, potete impegnarvi per rendere il codice il più pulito possibile. Ma ecco alcuni punti veloci per aiutarvi a capire quali sono i fattori coinvolti per rendere il vostro codice pulito.

Il clean code è un codice facile da leggere, come un libro in cui ogni parola si trasforma in un’immagine e si può visualizzare tutto come se si stesse guardando un film; in breve, dovrebbe essere leggibile dagli esseri umani.
Il codice deve essere facile da modificare.
Il codice non deve fare una cosa sola più volte.
Dimostra che la persona che ha scritto il codice ha davvero “a cuore” il codice e chi lo sta leggendo/manutenendo.
La logica è lineare e non lascia spazio alla comparsa di bug. Non invoglia gli altri a modificarlo, peggiorando il codice.
Focalizzato, ogni funzione e classe espone una responsabilità che rimane completamente indipendente dalle classi/funzioni circostanti.
Il codice espone le tensioni del problema da risolvere, le costruisce fino al culmine e poi offre al lettore il momento “Aha!” quando le tensioni vengono risolte.
Il codice deve avere dei test unitari.
Il codice fa sembrare che il linguaggio di programmazione sia stato creato per risolvere quel particolare problema.

Questo serve a farci comprendere che:

  • Più è bassa la qualità del nostro codice, quanto più è alto il rischio di fallire del nostro progetto
  • Quanto è importante che gli sviluppatori siano professionali nel loro lavoro, che è molto di più che buttarsi nello scrivere codice e basta.
  • Che cos’è il codice pulito e i vari fattori coinvolti per rendere il codice pulito.

Se avete trovato interessante questo articolo, assicuratevi di seguirci sul nostro blog.

(fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura IT e del “clean code”.

L’offerta formativa per aziende prevede una serie di corsi in ambito Microservices, DevSecOps, GitLab e Cloud.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi

Ti potrebbe interessare

Articoli correlati