Blog
Friday 26 August 2011
Quando salta fuori un bug in un tuo programma, magari uno che al quale non lavori da tempo, quello che fai è spolverare il codice, riguardarlo un po’ per farti tornare in mente come funziona, e cercare di identificare la causa del problema.
Nella maggior parte dei casi, soprattutto se il programma in questione viene utilizzato quotidianamente senza grosse difficoltà, la patch che corregge il bug è lunga poche righe, e bastano un’oretta o due per scriverla e testarla. Questa è la parte semplice.
La parte difficile è smettere di lavorare sul programma una volta che il problema è stato risolto. Perché, ogni volta che si guarda del codice a distanza di tempo, ci si rende conto che alcune cose si sarebbero potute fare meglio: certo, anche così funzionano, ma visto che c’è l’occasione… E poi c’è sempre una qualche funzionalità che non si è riusciti ad includere—vuoi per mancanza di tempo, vuoi perché l’idea è venuta solo in un secondo momento—e visto che si sta già lavorando proprio su quel codice…
Conclusione, quella che doveva essere una point release ingloba delle nuove funzionalità, trasformandosi quindi in una normale release; il lavoro che si sarebbe potuto sbrigare in poche ore è arrivato ad occupare una giornata o due.
E va bene così. Innanzitutto perché il tempo speso a migliorare un programma non è mai tempo sprecato; poi perché molte volte mettere in piedi un ambiente di sviluppo richiede quasi più tempo che non trovare e correggere un bug, e lavorare sul codice più a lungo in qualche modo “ammortizza” questo investimento di tempo iniziale.
Ma soprattutto perché la spinta che ti porta a fare tutto questo, anziché limitarsi al minimo indispensabile, non è altro che la passione per la programmazione. Il giorno in cui questa spinta non ci sarà più sarà anche il giorno in cui comincerò a prendere seriamente in considerazione una professione diversa.