www.fabiobeta.it

« Introduzione ad XP!
Stand Up Meeting: Definizione »

Ciao, sono Fabio.
Su queste pagine potete trovare esperienze, idee ed esperimenti di un programmatore in cerca di metodi per lavorare meglio e meno.

RSS

Questi sono i post più apprezzati del sito, dateci un'occhiata:

SFTP automatico e natalizio con ANT

La mia cassetta degli attrezzi: Il portatile

III: Tu non commenterai invano

YAGNI for Managers

Stand Up Meeting: Definizione

Eclipse: Propaganda a suon di keystroke

HtmlPreviewer

Gli altri sono qui.

III: Tu non commenterai invano
10 Febbraio 2007

Perdonate il titolo un po' blasfemo, ma l'argomento di discussione è uno di quelli adatti a generare una guerra di religione tra programmatori.

Le mie idee sui commenti sono semplici:

Prima di essere assalito come pazzo offuscatore di codice, cerchiamo di capirci.

Ci sono varie categorie di commenti inutili e offensivi (se non dannosi) che pascolano per i sorgenti in giro per il mondo.

I commenti didattici

//Main
public static void main(String [ ] args) {
	...
}

//Costruttore
public Coso() {
	...
}

Hanno forse utilità per un docente di informatica, che li richiede a quattordicenni casinari per distinguere errori di sintassi da errori di concetto, non per persone pagate per scrivere software 8 ore al giorno.

I commenti storici

//Marzo 2001 - piero: rimuovo il controllo sul colore
//2005-02-30 re-introduco il controllo sul colore
if (color.equals("red")) {
	stop();
}

Perchè?!? Che tra l'altro magari Piero si è licenziato il mese scorso...

I commenti archeologici


//il valore di partenza è 15
int startingValue=42;

Almeno quelli storici sono veri... e non sempre è così banale accorgersi della menzogna!

I commenti che dovrebbero essere metodi

//Verifico se il cliente è maggiorenne
if (cliente.getAge>18) {
	sellBeer();
}

perchè non scrivere subito:

if (cliente.isMaggiorenne()) {
	sellBeer();
}

Il codice commentato

//initCostumer(name,surname,age);
//initCostumer(name,surname,age,codiceFiscale):
initCostumer(name,surname,codiceFiscale);

Perchè affezionarsi a righe inutili? Se stiamo lavorando in modo serio è auspicabile avere un repository del codice, e ci pensa lui a tenere traccia del passato.

Così sembro un po' più ragionevole vero? :) Commentare ha un senso, ma meno di quanto pensiamo.

E' corretto commentare cose complicate. Complicate nel senso che non si può o non si riesce a renderle più palesi nel codice. Ma nel resto dei casi...

TU NON COMMENTERAI INVANO

send a feedback to fabio

« Introduzione ad XP!
Stand Up Meeting: Definizione »

Fight Spam! Click Here!