Nomen Omen: c'è Refactoring e Refactoring

Spesso (è successo anche a WPC) mi viene chiesto quale sia l'impatto dell'uso sistematico del Refactoring o della implementazione di test unitari all'interno di un processo di sviluppo. La risposta breve è davvero tale (ossia... Breve): tipicamente infatti "spedisco" qui il richiedente. La generalizzazione (ovviamente non nel senso OO del termine) è però un processo pericoloso: l'ottimo post di Marco rischia infatti di generare nei meno esperti l'errata convinzione che il tempo necessario al refactoring sia "annegabile" poichè composto da tanti piccoli "passi" individualmente sempre poco onerosi. Non so voi, ma per quanto mi riguarda alcuni pattern di refactoring sono tutt'altro che brevi da applicare. Un esempio per tutti: "Extract Interface", il cui utilizzo prevede (cit.):

  • Create an empty interface
  • Declare the common operations in the interface
  • Declare the relevant class(es) as implementing the interface
  • Adjust client type declarations to use the interface

Lungi da me l'idea di contestare il Sommo (chi mi conosce sa quale sia l'ammirazione -che alcuni sostengono essere eccessiva- che provo per quest'Uomo), ma secondo me la succitata mechanics richiederebbe la modifica del primo passo in: Define (and name) an empty interface. Ecco: io a volte passo _molto_, _molto_ tempo a riflettere sul nome da attribuire alla nuova interfaccia (che percepisco come fortemente caratterizzante). Potere della semantica... Nomen omen (nel nome il destino): siete d'accordo?

Technorati tags:

Passato un workshop, se ne fa un altro...

Una (speriamo apprezzata) consolidata abitudine di UGIdotNET consiste nell'annunciare in occasione di ogni workshop la data e l'agenda dell'appuntamento successivo, ed anche giovedi non faremo eccezione. Io, però, inizierei a mettere un bel circoletto rosso sulla data del 10 febbraio 2005... :-)

Technorati tags:

«novembre»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011