Code Review: L'Arte di Dire "Il Tuo Codice Fa Schifo" con Gentilezza
La code review! Quel momento magico in cui il tuo codice, la tua preziosissima creazione su cui hai versato sudore e lacrime (e probabilmente anche un po’ di caffè sulla tastiera), viene sottoposto al giudizio dei tuoi pari. È come portare tuo figlio all’asilo per la prima volta, solo che invece di una maestra gentile, trovi un branco di lupi affamati pronti a divorare ogni tua scelta di implementazione.
La Code Review: Un Male Necessario?
Prima di tutto, mettiamo in chiaro una cosa: la code review non è quel momento in cui i tuoi colleghi si trasformano magicamente in Simon Cowell di “American Idol” e decidono di distruggere i tuoi sogni di gloria. È (o dovrebbe essere) un processo collaborativo per migliorare la qualità del codice e condividere conoscenza. Anche se a volte sembra più un episodio di “Hunger Games”.
Come Sopravvivere Quando Sei il Reviewer
1. Il Sandwich del Feedback
No, non è quello che ordini a pranzo. È una tecnica per dare feedback costruttivo:
- Inizia con qualcosa di positivo (“Mi piace come hai strutturato le classi!”)
- Inserisci la critica (“Però forse 47 livelli di nesting sono un po’ troppi…”)
- Chiudi con un altro punto positivo (“Ma nel complesso, ottimo lavoro nell’evitare variabili globali!”)
2. Fai Domande Invece di Dare Ordini
Invece di:
“Questo codice fa schifo, riscrivilo tutto.”
Prova con:
“Hai considerato di utilizzare un pattern Strategy qui? Potrebbe rendere il codice più manutenibile.”
3. Non Essere Quel Tizio
Sai, quello che commenta ogni singola riga con “io l’avrei fatto diversamente”. Nessuno ama quel tizio. Non essere quel tizio.
Come Sopravvivere Quando Sei Reviewato
1. Non Prendertela Sul Personale
Il tuo codice non è tuo figlio. Non devi difenderlo fino alla morte. Se qualcuno suggerisce dei miglioramenti, non è un attacco personale alla tua dignità di sviluppatore.
2. Spiega le Tue Scelte
Se hai fatto qualcosa in un certo modo, probabilmente avevi le tue ragioni. Condividile! Magari scopri che la tua soluzione è effettivamente geniale, o magari scopri che esiste un modo migliore. Win-win!
3. Impara ad Amare il Feedback
Ogni commento è un’opportunità di miglioramento. Anche quando il commento è “Chi ti ha insegnato a programmare? Un gorilla ubriaco?”. (Nota: se ricevi davvero commenti del genere, forse è ora di cambiare team.)
Best Practices per Non Far Piangere Nessuno
1. Dimensiona le PR con Saggezza
- Troppo piccola: “Hai davvero fatto una PR per cambiare una variabile da
let
aconst
?” - Troppo grande: “Ah, vedo che hai riscritto l’intero backend. Per venerdì.”
- Giusta: Abbastanza codice da avere un impatto significativo, ma non così tanto da far venire un attacco di panico al reviewer.
2. Commenta il Tuo Codice (Ma Non Troppo)
// Buon commento:
// Applica la trasformazione di Fourier per analizzare le frequenze del segnale
function transformSignal(data) { ... }
// Commento inutile:
// Questa funzione incrementa il contatore
counter++; // Incrementa di 1
3. Usa Strumenti Automatici
Lascia che i tool automatici si occupino delle guerre di stile. Non c’è niente di più triste di una PR con 47 commenti sul posizionamento delle parentesi graffe.
Come Gestire Situazioni Particolari
Il Caso del Codice Legacy
Quando ti trovi davanti a codice scritto nel 1995 da qualcuno che ora probabilmente alleva alpaca in Perù:
// Il codice originale:
function doTheThing() {
var a = b + c; // Non si sa cosa siano b e c
return a * mystery_function(); // mystery_function è definita in un file che nessuno ha mai visto
}
// La tua PR:
function doTheThingBetter() {
// 300 righe di codice moderno e pulito
}
// Il commento del reviewer:
"Ma sei sicuro che non rompa niente? Quel codice legacy gestisce il calcolo delle buste paga di 47 paesi..."
Il Reviewer Perfezionista
Conosci il tipo. Quello che non approverà mai la tua PR finché ogni singola riga non brilla come un diamante appena estratto.
Reviewer: “Potresti aggiungere un commento per spiegare perché hai usato un for loop qui?”
Tu aggiungi il //commento
Reviewer: “Ora potresti spiegare perché hai scelto di commentare questa parte?”
Conclusione: L’Arte del Dare e Ricevere
La code review è un po’ come la democrazia: non è un sistema perfetto, ma è il migliore che abbiamo. Con un po’ di empatia, professionalità e una buona dose di senso dell’umorismo, può diventare uno strumento potentissimo per migliorare non solo il codice, ma anche il team.
E ricorda: se proprio devi dire a qualcuno che il suo codice fa schifo, fallo con un emoji. È più professionale. 😉
P.S. Se stai leggendo questo post mentre aspetti che qualcuno riveda la tua PR… forse è il momento di mandare un gentile reminder. O di iniziare a pregare. O entrambe le cose.