AntonioGanci

Il blog di Antonio Ganci
posts - 201, comments - 578, trackbacks - 27

Il codice è il design

Ringrazio il mio collega per avermi suggerito i tre essays su Cose as Design di Jack W. Reeves. mi hanno dato alcuni spunti di riflessione e ne consiglio vivamente la lettura.

L'autore sostiene ed argomenta un concetto secondo me tanto semplice quanto vero: Il design è il codice. L'articolo è stato pubblicato nel 1992 sul C++ Journal, un periodo in cui era diffusa l'idea che il coding fosse un'attività di basso profilo. Un'idea passata quasi inosservata e poi ripresa da Ward Cunningham in questa pagina del wiki.

Alcune considerazioni:

Se il codice è il design, qual è il manufatto e chi lo costruisce?

E' il file eseguibile e viene costruito dal compilatore/linker (notare l'uso del termine build anche in VS)

I class diagram, UML, ecc. cosa sono?

Sono sempre strumenti di design, ma che danno una rappresentazione di più alto livello.

Ed il TDD come si inserisce in questa visione?

Il TDD serve a validare il design, cioè che il codice si comporti nel modo previsto.

In sostanza il codice è il design più dettagliato possibile quello che rende possibile la creazione fisica del nostro software. Questo spiega anche il perchè sia così difficile creare codice di qualità, non è un'attività di manovalanza, ma un'attività ingegneristica.

Print | posted on lunedì 17 novembre 2008 8.53 | Filed Under [ Extreme Programming ]

Feedback

Gravatar

# re: Il codice è il design


ho trovato questa precisazione interessante e utile


ho capito giusto se dico che Jack Reeves e poi Cunninghamil individuano nel disegno come la attività che da valore aggiunto alla creazione di codice ?



visto che nei metodi agili disegno e codifica si mescolano in modo inestricabile ho provato qui (link) a distinguere la fase di pensare/immaginare una soluzione dalla fase di produzione cioè scrittura del codice. in questo modo le considerazioni su disegno e produzione e quelle sui iterazioni positive e negative di disegno (industriale, ingegneristico, etc.) di G. Ballard acquistano 8un chiaro signigicato anche nel sw (vedi qui, link)




sei d'accordo con questa interpretazione di Ballard?

17/11/2008 15.43 | Luca Minudel
Gravatar

# re: Il codice è il design

ops...

1° link : blogs.ugidotnet.org/.../94024.aspx
2° link : blogs.ugidotnet.org/.../94044.aspx
17/11/2008 15.46 | Luca Minudel
Gravatar

# re: Il codice è il design

Dai post che mi hai suggerito:

> Il disegno agisce nel mondo del pensiero e della immaginazione per "creare una ricetta" (strutturare un sw in namespace, in classi, in livelli, etc.), la produzione riguarda le attività materiali per "realizzare la ricetta" (dalle operazioni di stesura del codice sino alla preparazione del pacchetto di installazione)

qui cambia quello che si chiama produzione: che viene fatto dal compilatore/linker e non è la stesura del codice.

> _P_ er realizzare software le attività di disegno e produzione si combinano insieme. Trovo che sia molto facile confondere quello che è disegno da quello che è produzione e molte sviste sul disegno credo che nascono proprio da questo.

Questo è il punto centrale! IMHO nascono le sviste quando sono visti come due cose diverse il design dal codice, se cambi la definizione tutto diventa più naturale.
17/11/2008 18.02 | ugog91@yahoo.it
Gravatar

# re: Il codice è il design

ok quindi l'articolo di Ballard usa una definizione differente



seguendo la definizione di Reeves/Cunningham c'è una parola per distinguere l'attività di pensare/immaginare il design da quella di scrivere/modificare "fisicamente" il codice ?
17/11/2008 22.06 | Luca Minudel
Gravatar

# re: Il codice è il design

Qual è senza l'apostrofo! :-)
18/11/2008 8.57 | manuel0081
Gravatar

# re: Il codice è il design

x manuel0081: grazie per la segnalazione, corretto! ;-)
Cosa ne pensi del contenuto? Sei d'accordo?
18/11/2008 9.14 | ugog91@yahoo.it

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 3 and 1 and type the answer here:

Powered by: