Da quando ho smesso di commentare il codice

Un tempo, mi ricordo, se trovavo del codice poco commentato o non commentato del tutto, mi arrabbiavo. Mandavo accidenti a colui che non aveva avuto l’accortezza di scrivere due righe, una frase o anche solo qualche parola per facilitarmi la vita.

Dopo aver letto Clean Code di Robert C. Martin ho capito che i commenti non sono cosa buona.

I nomi delle variabili, delle classi, dei metodi dovrebbero essere esplicativi non dovrebbe esserci bisogno di ulteriori aggiunte.

L’uso dei commenti è quello di compensare il nostro fallimento nel creare codice comprensibile

Robert C. Martin fa questo esempio:

// Check to see if the employee is eligible for full benefits
if (($employee->flags & HOURLY_FLAG) && ($employee->age > 65))

oppure

if ($employee->isEligibleForFullBenefits())

In molti casi basta creare un metodo che dica le stesse cose che si vogliono scrivere nel commento per rendere tutto più chiaro.

Citando Brian W. Kernighan and P. J. Plaugher:

Don’t comment bad code. Rewrite it.

Quando sento la necessità di commentare il codice che ho appena scritto mi fermo e ragiono su come poterlo rendere più leggibile, estraendo metodi, scrivendo nomi di variabili più significative ed esplicite.

Adesso, quando trovo del codice poco commentato o non commentato del tutto, mi arrabbio. Lo stesso. Mandando accidenti a colui che non ha avuto la decenza di scrivere del codice più leggibile.