Leggere i sorgenti è un elemento rilevante per il lavoro di un developer. Il principale obbiettivo della lettura del codice è la sua revisione ai fini di modificarlo e migliorarlo. In realtà il termine "leggere" è abbastanza riduttivo e, probabilmente, la parola inglese "hacking" è più appropriata. L'attività di code review trascende infatti la semplice lettura, che è un'attività abbastanza passiva, ma richiama una procedura diversa basata su un procedimento di esplorazione, di esame critico e di sintesi, con la scrittura del nuovo codice.

L'attività di hacking genera quindi una comprensione del codice che è nettamente maggiore rispetto alla classica lettura. Anche perché l'obbiettivo principale della code review è, oltre che la semplice comprensione del codice, il miglioramento del programma. Analizziamo l'attività logica dell'hacking in breve:

  • Esplorazione: leggere ed esplorare le varie porzioni di codice per capire quando è necessaria una modifica. La volontà di migliorare il codice guida le nostre azioni. Al contrario, quando si "legge" e basta, ci si lascia semplicemente guidare dal flusso del testo.
  • Esame critico: durante l'hack si segue un processo di valutazione del codice e dei cambiamenti che si vuole apportare, tale valutazione critica viene quasi sempre a mancare durante una semplice lettura.
  • Sintesi: i cambiamenti veri e propri tramite la scrittura di nuovo codice.
  • Ripetizione: l'hacking non è un processo lineare con un inizio ed una fine ben precisi, ma è un procedimento costante di analisi e implementazione di nuovo codice.

In conclusione la code review è molto più di una semplice lettura del codice, è invece un processo di hacking, non lineare, che assomiglia più alla consultazione di una mappa rispetto alla lettura di un libro. Gli sviluppatori non dovrebbero limitarsi alla semplice lettura del codice ed eseguire invece continui processi di hacking.

Via Stephen Malina

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *