Il debug e il nostro Ego
Essere capaci di scrivere del codice senza errori ci eviterebbe di dover usare il debug certo, ma penso sia davvero difficile scrivere senza mai introdurre qualche errore in un software. Anche con l’uso dei test automatici prima o poi incapperemo in qualche anomalia.
Spesso il debug viene visto come una cosa noiosa e/o fastidiosa e il nostro ego si attiva per inveire contro chi ha fatto la segnalazione: “questo sul mio codice non può succedere !! non è vero sbaglia l’utente”. La verità è che non siamo infallibili e più un software è complesso e più questo è a rischio anomalie. I test automatici coprono una gran parte dei problemi, ma non tutte le anomalie sono testabili e non tutte le anomalie sono così facili da interpretare e/o prevedere.
Inutile che diciamo “questo bug è stato introdotto dal mio collega”, se siamo noi sul codice in quel momento, il problema è nostro e dobbiamo trovare il modo di risolverlo evitando di fare i “ganzi” scaricando accuse su altri.
Consigliati da LinkedIn
Debuggare un codice è anche molto importante in quanto quando lo si fa, si diventa lettori e investigatori informatici. Eh si perchè trovare e capire quali siano gli errori e quali siano le parti coinvolte nel codice a volte ci fa diventare degli Sherlock Holmes Digitali.
E’ importante durante la fase di debug concentrarci su cosa stiamo cercando e mettere in discussione ogni riga che ci passa sotto gli occhi, anche quella meno probabile, ogni dato che cambia al passare del codice. Mettere in discussione tutto nella porzione di codice che stiamo analizzando. Spesso le anomalie che troveremo sono date da codice che magari in quel segmento è corretto e che il test automatico aveva considerato valide, ma che nel contesto complessivo della funzionalità generano un comportamento non voluto.
Ci vuole umiltà di ammettere che l’errore c’è, anche quando per orgoglio diamo la colpa all’utente e ricordarsi che il programmatore capace e intelligente non è quello che al primo colpo scrive il codice senza errori, ma è quello che corregge sia i propri errori che quelli fatti da altri senza per questo prendersela con qualcuno.