Refactoring o... rewrite?

Lunedì ho dato una prima occhiata alle pagine di una parte di applicazione ASP.NET che dovrò espandere nelle prossime settimane.

Sapevo a priori che il tipo di codice che mi sarei trovato davanti era scritto con una metodologia decisamente differente da quella che ormai sono abituato ad utilizzare da un po' di anni ed in effetti ho trovato delle differenze significative: codice nei tag script delle pagine aspx (comunque "spostabile" con pochi click nel code behind), architettura non DD, accesso diretto al db e procedure scritte praticamente in modo quasi sequenziale, oltrettutto in VB.NET, mentre tutto il resto dell'applicativo é in C#.

Sono rimasto parecchio in dubbio sulla scelta fra un profondo refactoring del codice esistente ed una più radicale riscrittura del codice ripartendo dai requisiti.

Inizialmente avevo provato a prendere in considerazione la prima possibilità, ma quando mi sono trovato di fronte ad un metodo di 653 righe ho capito che la mia ormai "impigrita" capoccia (che nel frattempo si è abituata a metodi che non arrivano quasi mai alle 20 righe) avrebbe fatto una bella fatica, ed ancor peggio magari qualche pasticcio, nel cercare di seguire il flusso del codice esistente.

Ho scelto di rinviare la decisione a dopo ferragosto, ma non ho ancora preso una decisione definitiva sulla strada da percorrere: a vantaggio della prima c'è un'ottima intesa con chi ha scritto il codice esistente e la disponibilità ad aiutarmi nel comprenderne il flusso; nel secondo caso, invece, c'è l'ovvio vantaggio che deriva dal ripartire "from scratch" utilizzando le proprie metodologie.

Spero che la notte (o ciò che ne rimane) porti consiglio...

Print | posted @ giovedì 16 agosto 2007 03:44

Comments have been closed on this topic.