Quali tecniche fanno parte della tua Arte di Programmare?

Henry David Thoreau quote - Library Way - NY City


Quali tecniche, quali invenzioni e quali scoperte fanno parte della tua Arte di Programmare?



Dargli un nome, renderle esplicite e consapevoli, condividerle e confrontarle è più utile e vantaggioso di quanto potessi immaginare.  Comincio con il condividere le mie e aspetto di conoscere nei comments anche quelle degli altri.







Alcune tecniche che in passato ho "inventato" e usato e ora vedo che anche altri hanno sviluppato e gli hanno dato un nome:

  • Delta debugging
    Una ricerca dicotomica sulla history del codice per trovare la modifica che ha causato il bug
    • L'ho pensato e usata dal 1998, con la diffusione dei repository versionati di codice (VSS, cvs, svn, ...), come pratica manuale di debugging.
  • Latent Code Patterns
    Un modo per fare check-in continui e frequenti di codice rilasciabile senza bisogno di branch nel repository
  • Event Sourcing
    La tecnica di catturare tutti i cambiamenti di stato di un sistema registrando la sequenza di eventi che la provoca per poterne fare il Replay a piacere.
    • Abbiamo utilizzato estensivamente questa tecnica nel 2008 i colleghi Nadia, Andrea e Giancarlo ed io durante la modifica di 2 componenti critici di middleware che comunicano con sistemi esterni complessi e con molti client interni diversi e di diverse versioni. E' stata indispensabile per fare i test regressivi e funzionali dei sw pur in assenza dei sistemi esterni ( a meno di non far girare una macchina di F1 per fare i nostri test :D ).

    • Questa tecnica l'ho sentita descritta per la prima volta da Fowler in una conferenza qui a Stoccolma un paio di mesi fa e l'ho trovata descritta nel documento on-line risalente al 2005




Due "scoperte" che ho fatto e che non ho ancora ritrovato da nessuna parte:
  • Mockist-TDD Generative rules
    Applicando il mockist-TDD (aka interaction-based o behavior-based) si ottiene codice che aderisce ai principi di design S.O.L.I.D.
    • Nel 2006 ho osservato dai corsi di OO fatti al team che sono rimasti argomento per discussioni teoriche mentre nel 2007 i colleghi Paolo e Gerri si sono uniti al team e hanno insegnato la pratica del mockist-TDD ad alcuni membri del team e da subito il codice prodotto è risultato aderente ai principi S.O.L.I.D.



  • La simmetria dei Design Patterns
    Per ogni design pattern che si applica alla composizione ne esiste uno equivalente per l'editarietà e vivecersa



Print | posted @ sabato 5 dicembre 2009 14.20

Comments on this entry:

Gravatar # re: Quali tecniche fanno parte della tua Arte di Programmare?
by Giancarlo at 05/12/2009 15.23

Che onore :).
AL di là della presenza del mio nome (passavo lì per caso ;-)) credo sia un ottimo articolo per chi ha voglia di scoprire come lavora un vero professionista. Grazie luca.
  
Gravatar # re: Quali tecniche fanno parte della tua Arte di Programmare?
by Luca Minudel at 05/12/2009 19.12

:) è un successo che mi piace ricordare!!! per tutto quello che ci stà dietro, e perchè è stato un gioco di squadra dove in retrospettiva si vede in concreto che il lavoro di ogniuno di noi ha fatto davvero la differenza tra il successo e l'insuccesso, tra stare a galla e cavalcare l'onda. ed è stato un bel successo.
  

Your comment:

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 8 and 5 and type the answer here: