Refactoring: Commenti

Mi è capitato spesso di legger commenti del tutto inutili al codice:

// Calcola il valore inserito per due
int res = CalcolaIlValoreInseritoPerDue(valoreDaCalcolare);

Inseriti perchè un PM troppo invasivo o una mente troppo contorta, hanno obbligato lo sviluppatore a scrivere.

Una delle regole del Refactoring consiste nello scrivere codice autoesplicativo; così facendo inserire dei commenti nel codice
diventa ridondante e inutile.

Rimane però un caso nel quale scrivere un commento può tornare utile, secondo me.

Capita che sul finire di un progetto, non siamo stati abbastanza lungimiranti da scrivere una procedura in maniera abbastanza generica
da poter applicare in più casi; così, con la morte nel cuore, bisogna scegliere se:

  • Implementare un buon Abstract Factory
  • Andare avanti perchè il tempo non basta

Fermo restando che non dovrebbe mai capitare, vi trovate in questo bivio.
A questo punto vi troverete a dover duplicare il codice appena scritto perchè poco generico, trovandovi così in situazioni del tipo:

bool fb = DisegnaLaTabellaCon3x3(dati);
bool fb = DisegnaLaTabellaCon3x4(dati);

O, ancor peggio, dove i nomi dei metodi inseriti sono non autoesplicativi.

I commenti dovrebbero esser inseriti solamente quando non siamo in grado di far refactoring sul codice scritto o per spiegare
perchè è stata applicata una sequenza non logica, in modo tale che in futuro potremmo ricordare perchè quel codice sta lì.

Comunque un codice ben strutturato non ha bisogno di commenti.
Prima di scrivere un commento è utile provare a far refactoring sul codice.

posted @ sabato 16 febbraio 2008 21:09

Print

Comments on this entry:

# re: Refactoring: Commenti

Left by innovatel at 18/02/2008 12:55
Gravatar
Concordo! Il problema è quando (soprattutto quando si lavora a più mani) trovi dei bellissimi commenti e del codice che fà c****e nonostante i metodi siano autoesplicativi dal nome :(
Comments have been closed on this topic.