Un esempio di semplicità sul Refactoring

Gino sa tutto sul Refactoring: sa fare refactoring bendato e con una mano legata dietro la schiena ((( minchia! )))

Si è seduto alla tastiera col suo collega e ha 2 ore di tempo per introdurlo al refactoring.  Per farla semplice da dove comincia?


Gino comincia dal codice che il collega ha appena scritto. Fa check-in per avere una baseline sicura a cui fare rollback e usa un tool automatico per evitare errori insidiosi. Coimincia a fare questi 6 refactoring insieme al collega:

* Estrae codice dai metodi troppo lunghi (>> 30 linee di codice)
* Cerca i commenti e modifica il codice in modo che si spieghi da solo
* Scorre i nomi di metodi e variabili e rinomina quelli poco chiari e quelli poco descrittivi
* Guarda i blocchi condizionali (If, switch, for, ...) e vede se li può eliminare
* Trova parti di codice duplicate e le elimina
* Scopre cosa fa ogni metodo e si chiede se si trova sulla classe giusta Inizia ogni punto mostrando come fare e quindi lascia continuare al suo collega, interviene quando serve


Questa domanda ammette più risposte egualmente valide. La sfida di Gino qui ora  è cercare un modo ancora più semplice di questo per cominciare col refactoring.

Ti viene in mente un altro modo semplice per iniziare ?   Qualcosa da togliere o sostituire nella lista di Gino ?



Tags :   |  |  | 

Print | posted @ lunedì 2 marzo 2009 13.22

Comments on this entry:

Gravatar # re: Un esempio di semplicità sul Refactoring
by Emanuele DelBono at 02/03/2009 13.34

Ultimamente trovo molto utile misurare il codice con uno strumento tipo SourceMonitor o NDepend per identificare subito i punti critici in cui conviene fare refactoring.
Una volta individuati applico più o meno la tua ricetta.
  
Gravatar # re: Un esempio di semplicità sul Refactoring
by Alessandro Scardova at 02/03/2009 13.59

Io inizierei a sbendare Gino: un tool di refactoring è inutile senza una buona analisi del codice esistente.
  
Gravatar # re: Un esempio di semplicità sul Refactoring
by Marco Minerva at 02/03/2009 17.07

Ciao!
Puoi dare un'occhiata al codice HTML del tuo post? Tutti quelli successivi sul muro di UGI hanno preso il tuo carattere :-D
  
Gravatar # re: Un esempio di semplicità sul Refactoring
by Luca Minudel at 02/03/2009 17.30

@Ema, @Ale

la sfida in questo caso é la semplicita - Gino deve fare qyualcosa in meno per arrivare all'essenziale

magari anche qualcosa di diverso, ma di meno, non di piú

@Marco

ci guardo a casa con attenzione e sistemo
  
Gravatar # re: Un esempio di semplicità sul Refactoring
by Alberto Brandolini at 02/03/2009 18.16

hmmm... molto dipende anche dall'esistenza o meno di test. Su mio vecchio codice, interrotto e ripreso ma con un buon coverage, sono andato a guardare che cosa non era testato, ed in molti casi non era nemmeno usato. Togliere.
In altri casi la cosa è decisamente più complessa, sei senza JavaDoc su codice incomprensibile e pure senza test, circondato da altro codice incomprensibile o inutile (es. un Singleton con tre costruttori... :-( ) Prima di avere la confidenza necessaria al refactoring ti servono un po' di test...
  
Gravatar # re: Un esempio di semplicità sul Refactoring
by Luca Minudel at 02/03/2009 19.26

@Alberto

quelo che dici è corretto e utile a gino quando fa refactoring da solo o con un pair esperto.

pra qui gino sta per introdurre il suo collega al refactoring e ha bisogno di un suggerimento per farla semplice: la sfida qui è l'essenzile, la semplicità

cosa si può suggerire per farla ancora più semplice di cosi?
  

Your comment:

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