Blog Stats
  • Posts - 647
  • Articles - 3
  • Comments - 142
  • Trackbacks - 25

 

Debugging other peoples' code

Negli ultimi mesi, mi trovo spesso anche io in questa situazione:

"I spend a lot of my day debugging other peoples' code, be it the code of my customers or code that Microsoft's developers have written"

Devo dire che, nonostante non mi trovi d'accordo con l'affermazione:

"... I prefer debugging other peoples' code ...."

Sono perfettamente d'accordo (e non avrei mai immaginato di esserlo) con la seguente:

"...it is harder to debug my own code, at least when it comes to those gnarly hard to solve problems.

I think that is because when you debug someone else's code you are making fewer assumptions and are focused on the specific nature of the problem at hand rather than thinking about the rest of the application you are trying to develop when working with your own code...."

Effettivamente, quando si lavora sul codice scritto da altri, ci si concentra maggiormente sul problema specifico, cercando naturalmente di capire cosa "vuole" fare il codice sotto analisi ed eventualmente migliorarlo.

Lavorando sul proprio codice invece, un po' consciamente, un po' inconsciamente, si parte dall'assunto che una serie di valutazioni siano già state fatte, ed in questo modo, spesso, sfuggono tutta una serie di cose.

Come dice lo stesso autore del post (vedi fonte): 

"I came across a quote from Albert Einstein which sums it up nicely:

"We cannot solve our problems with the same thinking we used when we created them"."

Come non dargli torto! Smile.
Ed è anche per questo che, chi scrive ed esegue gli unit test di una applicazione, NON DOVREBBE ESSERE lo stesso sviluppatore che scrive il codice!

Ma questo è un capitolo a parte Smile

Fonte: Notes from a dark corner : Debugging other peoples' code

Technorati Tags: ,

Feedback

# re: Debugging other peoples' code

Gravatar Non lo so, non mi convince del tutto. Diciamo che di primo acchito sarei portato a dire:
1) Io NON preferisco debuggare codice di altri (e su questo non ci piove).
2) Sono assolutamente sicuro che chi esegue i test (nel caso di test "lancia e prova") non deve essere chi sviluppa il sistema / componente (per gli unit test sono un po' più dubbioso).
3) E' più semplice debuggare il codice di altri in caso di cr funzionali ... probabilmente vero, non ci si autoconvince dei ragionamenti effettuati in fase di analisi.
4) E' più semplice debuggare il codice di altri in caso di errori applicativi ... NO, Per me assolutamente NO!!!!

Comunque questo post (e la sua fonte) mi hanno fatto pensare, visto che sono in ballo con AM, ahimé, da un po' di tempo.
4/3/2008 3:08 PM | Gianluca Gravina

# re: Debugging other peoples' code

Gravatar Ciao Giuanluca,
anche io NON preferisco debuggare codice di altri ma in questo periodo mi stò rendendo conto del fatto che, effettivamente, quando si mettono le mani sul codice scritto da altri, lo si fa con un occhio diverso rispetto a quando si guarda il proprio codice. E questo è un dato di fatto. Sulla preferenza non si discute (non credo di aver mai trovato qualcuno che preferisce debuggare codice di altre persone :-P ).
Per quanto riguarda il discorso Unit Test, resto sempre convinto che la soluzione migliore sia quella di tenre i Team separati. IMVHO vale lo stesso discorso del debugging, con un pizzico di "sfida in più" (noi dev siamo competitivi, è un dato di fatto :-P).
4/3/2008 3:23 PM | Mighell

# re: Debugging other peoples' code

Gravatar Ma scusa, i test dovrebbero essere scritti prima di scrivere il codice... :-P 4/3/2008 5:26 PM | SImone

# re: Debugging other peoples' code

Gravatar da quasi un mese il mio personal message sul windows live messenger e': "Debugging is like farting - it's not so bad when it's your own code" (Paul Downey - http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1532)

:-D 4/4/2008 8:08 AM | Adrian Florea

Post a comment





 

Please add 1 and 3 and type the answer here:

 

 

Copyright © Mighell |  Theme by Mighell.