Questo codice è una merda

Ok, titolo un po’ forte per un post che volevo scrivere da parecchio tempo. Ma veniamo al punto: se state leggendo questo post, probabilmente siete sviluppatori e, se lo siete, avrete di certo dovuto mettere le mani sul codice scritto da altri sviluppatori.

Ora, siate onesti: quante volte, guardando il codice scritto da altri, avete detto/pensato

questo codice è una merda?

Su su…non fate quelli buoni!!! Io l’ho detto tante volte e, lavorando in team, l’ho sentito dire tante di quelle volte che ne ho perso il conto.

Così, un po’ di tempo fa, mi sono soffermato su un codice non mio riflettendo su quanto fosse scritto male e su quanto avrei potuto scriverlo meglio io. Ma, allo stesso tempo, mi sono chiesto cosa avrebbe pensato un altro sviluppatore guardando il mio codice. Ecco…questa è la domanda che noi dev NON CI PONIAMO MAI.

Allora mi sono fermato (ancora) a rivedere il mio codice, con un occhio (forse troppo) critico e mi sono detto:

è una merda. Avrei potuto scriverlo meglio!

Ma poi, mi sono consolato ricordandomi quali erano le condizioni in cui avevo scritto quelle parti di codice. Vi dicono qualcosa queste frasi?

    • Avevo fretta
    • Dovevamo rilasciare
    • Avevo stimato 10 giorni e l’ho dovuto fare in 5
    • C’era il sistema bloccato e dovevo risolvere
    • Era una funzionalità inutile ma dovevo farla per forza

Se fate questo lavoro da un po’ di tempo, sapete benissimo che queste condizioni lavorative sono la normalità e che, a meno di non avere tempo infinito e risorse infinite, si deve sempre cercare un compromesso e spesso, chi ci rimette, è la qualità del codice che scriviamo.

E’ normale vero?

ma allora perchè non diamo mail il beneficio del dubbio allo sviluppatore del codice che siamo costretti a manutenere?

Ho quindi iniziato a guardare il codice scritto da altri sotto questa nuova luce. Certo, il codice di merda resta tale anche sotto una luce diversa, ma cambiando prospettiva, inizio a vedere le motivazioni che potrebbero aver spinto il collega a prendere determinate decisioni. E mi incazzo meno 🙂

Una volta, chiacchierando con Raf (ma come “chi è Raf!!! suvvia…non scherziamo!), mi raccontava che, all’inizio di un corso, fa notare agli allievi che un domani, altri sviluppatori potrebbero mettere le mani sul loro codice.

Vi lascio con lo stesso consiglio:

quando siete di fronte al vostro editor e vi approcciate a scrivere il vostro codice, pensate alla persona che verrà dopo di voi e cercate di non dargli la motivazione per pensare: “questo codice è una merda”

Enjoy

PS: ma poi…”ogni scarrafone è bello a mamma soja”

,,,

Comments

  • Hai ragione, ma a volte il codice è una merda anche perchè chi lo ha scritto non conosce nulla o quasi di OOP ed ha una visione alquanto limitata del linguaggio di programmazione usato (esperienza personale)