Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

Subire il 'code reading'

Mi ha appassionato il capitolo di Code Complete 2 sulle technical review, sul code reading ed affini. In breve, tutte pratiche che consentono ad una o più persone (reviewer) di leggere il codice altrui, di discutere assieme all'autore perchè è stato scritto in un modo o nell'altro, di migliorarlo alla caccia di bug o possibili bug, di avere un'idea degli errori più comuni che vengono commessi all'interno del team, etc. etc. il code reading in particolare è quello che mi ha interessato di più, perchè io in qualche modo l'ho subìto - e non sono stato il solo. Vi voglio raccontare questa mia esperienza.

Nel periodo 2003-2004 ho lavorato presso una software-house di Milano che creava software per gli enti pubblici (ASL, comuni, asili, società di trasporti comunali). Aveva clienti in tutta Italia, e capitava a volte che mi spedissero a Parma o a Perugia, per esempio. Ciò nonostante, passavo gran parte del tempo in sede, a sviluppare codice con Visual Basic 6. In questa azienda - quasi a conduzione familiare - eravamo in 4 developer, più un solo capo progetto che ci coordinava, con cui facevamo analisi, che seguiva insomma l'andamento del team e dei vari progetti. Poi c'era il capo vero (quello che pagava!), la segretaria ed un paio di commerciali.

Quasi ogni giorno questo capo progetto lanciava l'IDE di Visual Basic 6, apriva i progetti, leggeva le righe di codice committate durante la giornata, simulava l'esecuzione del programma nella sua testa, cercava bug, si chiedeva come mai avessimo scritto quel codice. All'epoca non sapevo dare un nome a questa pratica, oggi sì: semplicemente code reading. Nel mio caso il risultato è sempre stato devastante: appena arrivavo al lavoro - intorno alle 8:30 - mi trovavo la casella di posta interna intasata di e-mail di contestazione da questo capo progetto, mettendo costantemente in dubbio la qualità del codice. Questo si traduceva un giorno sì ed un giorno no in discussioni, litigate, in detrazioni economiche nella mia fattura! Non me ne vergogno a dirlo. Non mi vergogno nemmeno a dire però che ho sempre contestato a mia volta le sue conoscenze tecniche!

E' giusto praticare il code reading per scovare errori e per segnalarli all'autore, ma è anche giusto secondo me essere costruttivi e propositivi. Se avessi fatto lo stesso errore 10 volte, caro capo progetto, potrei essere d'accordo con te. Ma la cosa strana è che a lungo andare avevo raggiunto uno strano stato d'animo: avevo paura di scrivere codice, avevo davvero perso fiducia nelle mie capacità. Non sto sparando cazzxxx, ve lo assicuro. Dopo aver passato anni ed anni a programmare, ho cominciato a pensare di aver raggiunto il punto di fusione, tant'è che feci domanda al comune di Lodi per andare a fare il tassista, dato che mi piace guidare! Chiedetelo un po' alla mia amica Francy - che all'epoca lavorava come receptionist al "Luna Hotel" di Lodi, un hotel piuttosto grosso dove fanno congressi e simili. Se i taxi a Lodi non fossero stati in sovrannumero, probabilmente oggi non sarei qui, e magari UnAmico sarebbero più contento! ;-)

Non ho mai capito perchè quel capo progetto facesse così solo sul mio codice, quasi una persecuzione personale, perchè si ponesse certe domande che sembravano più sexhx mentali, perchè in VB6 mi imponesse di scrivere il nome della form invece della keyword Me, ad esempio, sull'evento Form_Load, perchè non esaminasse anche il codice dei miei colleghi. Ma, più in generale, non ho mai capito perchè fosse così eccessivamente rigoroso al di là di ogni limite.

Print | posted on giovedì 16 novembre 2006 17:54 | Filed Under [ Sviluppo .NET ]

Feedback

Gravatar

# re: Subire il 'code reading'

:-(
16/11/2006 19:56 | Daniele Proietti
Gravatar

# re: Subire il 'code reading'

Il caso che tu porti ad esempio è purtroppo un caso negativo, le code review dovrebbero solitamente essere anonime, e comunque non servono mai a colpevolizzare gli sviluppatori.
PErsonalmente ritengo che usate bene siano la chiave fondamentale per aumentare la qualità del software e anche McConnell ne è convinto tanto che ne parla anche in Rapid Developement e in Software project survival guide.
Il fatto è che dovrebbero generare discussioni costruttive, non distruttive come purrtoppo è capitato a te.

Gian Maria.
16/11/2006 20:29 | Gian Maria
Gravatar

# re: Subire il 'code reading'

Trovo tra l'altro scandaloso che in base alla code review ti sottraesse denaro dalla fattura, se trattano gli sviluppatori in questo modo non so quante persone gli rimarranno in sede.

Gian Maria.
17/11/2006 10:58 | Gian Maria
Gravatar

# re: Subire il 'code reading'

@Gian Maria: non sai quante aziendine nel milanese (ma anche nel romano) hanno dei caporali come CTO che oltretutto ricevono elogi dal boss perchè hanno realizzato il prodotto facendogli risparmiare dei soldi (a scapito dei code monkey di turno)
17/11/2006 11:28 | Sergio Berisso
Gravatar

# re: Subire il 'code reading'

Igor di rompipalle ne esistono a fiumi.. ovunque :) Io me ne andavo dopo due giorni :)
17/11/2006 14:49 | Alessio Marziali
Gravatar

# Re: Subire il 'code reading'

sono d'accordo con tutti voi:
è ricattatorio togliermi i soldi, perchè era evidente che il tizio in questione voleva primeggiare, secondo me. Avete anche ragione sul fatto che me ne sarei dovuto andare, cosa che alla fine ho fatto, ma all'epoca avevo bisogno di lavorare, per quel poco che mi dava, e quindi non è stata affatto una scelta facile continuare!
17/11/2006 15:34 | Igor Damiani
Gravatar

# re: Subire il 'code reading'

@Igor: posso capire che fossi in un momento di bisogno e che dovessi portare a casa la pagnotta ma piuttosto che rimanere in quell'ambiente sarei andato a fare un lavoro qualsiasi in attesa di un nuovo posto da informatico.
Sai quanti commessi, garzoni di idraulici, aiuto muratori, aiuto elettricisti cercano in giro ;-)
17/11/2006 16:37 | Sergio Berisso
Gravatar

# re: Subire il 'code reading'

Per l'amor di lavorare e non litigare con il capo progetto, occorre accontentarlo seguendo il suo standard. Poi se non gli basta nemmeno quello, significa che aspira ad essere antipatico con il prossimo.
17/11/2006 23:10 | Sem Tamburella
Gravatar

# Questo blog chiude, e voglio ritentare la strada del tassista

Questo blog chiude, e voglio ritentare la strada del tassista
01/04/2008 17:35 | Technology Experience (Reborn)
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET