Tag: code review, git, pull request, clean code, refactoring, quality assurance
Livello: intermedio
TL;DR: Best practice, criteri di valutazione e gestione efficace di Pull Request e revisione collaborativa del codice.
Identificare bug logici, falle di sicurezza e regressioni prima del merge.
Verificare la leggibilità, aderenza agli standard architetturali e manutenibilità.
Mantenere le Pull Request piccole, focalizzate su un solo obiettivo e rapide da revisionare.
Distinguere chiaramente tra problemi bloccanti e suggerimenti opzionali (nitpick).
Automatizzare formattazione, linting e test via CI per concentrare la review sulla logica.
Fornire feedback costruttivo, chiaro, orientato al codice e mai alla persona.
Validare la presenza di test automatizzati (unitari e di integrazione) a corredo delle modifiche.
Controllare la gestione dei casi limite, validazione degli input e gestione degli errori.
Q: Cosa cerchi prioritariamente quando fai una code review?R: Controllo prima la correttezza del comportamento di business e i casi limite, poi l'architettura e la sicurezza. Delego la sintassi a linter e CI.
Q: Come ti comporti se sei in disaccordo su un approccio tecnico in una PR?R: Spiego i trade-off oggettivi con esempi pratici sul codice; se non c'è consenso, organizzo un sync rapido o consulto le linee guida del team.
Q: Come gestisci PR molto grandi o complesse?R: Chiedo all'autore di suddividerla in commit atomici o sotto-PR logiche, concentrandomi prima sulle interfacce pubbliche e sui test.
Usare la code review per discutere di formattazione o stile invece di affidarsi a strumenti automatici.
Commentare in modo vago senza fornire motivazioni tecniche o alternative pratiche.
Approvare PR enormi superficialmente senza verificare l'impatto architetturale e i corner case.
Trattare le proprie preferenze personali come requisiti bloccanti non negoziabili.
Lasciare PR aperte per giorni bloccando il ciclo di rilascio del team.
# Confrontare le modifiche tra il branch corrente e target prima della PR
git diff main...HEAD
# Ispezionare la lista dei commit atomici inclusi nel branch
git log --oneline main..HEAD
# Visualizzare il riepilogo dei file modificati e lo stat delle righe
git diff --stat main...HEAD
[ ] Convenzione Conventional Comments per etichettare i feedback (nitpick, issue, question)
[ ] Criteri di sicurezza comuni (OWASP Top 10) applicati alla review
[x] Flussi standard GitHub Flow e GitLab Flow