forumApri un argomento

Come si costruisce una cultura del code review? Le mie osservazioni in dieci anni

RRıdvan Y***18 giorni fa·48 messaggi·17,1K visualizzazioni#team#qualità#processo
RRıdvan Y***Esperto
Ruolo
Team leader software
Iscrizione
set 2023
Messaggio
196

Doki · Design interfaccia · 2023

#1

Faccio il team leader da un bel po', scrivo con calma perché l'errore più comune su questo tema è avere fretta.

La code review non è un'ispezione, è uno strumento formativo. Nei team che non accettano questa frase, il processo va sempre a finire allo stesso modo: il senior cerca gli errori, il junior si mette sulla difensiva, le review rallentano e alla fine tutti approvano senza guardare.

Ho accumulato alcune regole che funzionano, ve le condivido.

Inviate in piccoli blocchi. Nessuno legge davvero una modifica da 500 righe, tutti scrivono "sembra ok". Nelle modifiche sotto le 200 righe il numero di problemi trovati aumenta notevolmente.

Scrivete il commento al codice, non alla persona. Invece di "perché l'hai fatto così", chiedete "cosa succede qui in questa situazione". Stessa informazione, conversazione completamente diversa.

Automatizzate le discussioni sullo stile. Indentazione, virgolette, naming: devono essere gestiti dagli strumenti. Se si spreca tempo umano su queste cose, i veri problemi passano inosservati.

CCerenPartecipante
Ruolo
QA Engineer
Iscrizione
mar 2024
Messaggio
178
Più utile#2

Concordo dal punto di vista del test, ma una domanda: è scritto nero su bianco cosa cercare durante la review?

Chiedo perché: in molti team c'è la code review, ma cosa guardare dipende dalla persona. Uno guarda il naming, uno la gestione degli errori, uno niente. Poi dicono "abbiamo controllato" e gli stessi errori vanno in produzione.

Da noi ha funzionato una breve checklist. Non lunga, cinque punti: sono gestiti i casi di errore, sono considerati i valori limite, si rompe la retrocompatibilità, ci sono i test, logging e monitoring sono sufficienti.

Ho misurato, non sto tirando a indovinare: nel trimestre successivo all'introduzione della lista, il numero di errori in produzione è calato sensibilmente. La lista non ha poteri magici, fa solo sì che tutti guardino la stessa cosa.

KKayahanPartecipante
Ruolo
Full-stack
Iscrizione
giu 2024
Messaggio
118
#3

concordo sulla regola dei piccoli blocchi ma in pratica è dura. a volte la modifica è grande per natura.

da noi la soluzione è stata questa: prima di inviare la modifica grande, scriviamo e condividiamo l'approccio in una pagina. cinque minuti di lettura evitano un'ora di discussione sulla review.

scoprire che l'approccio è sbagliato dopo aver scritto 500 righe è la cosa peggiore. a quel punto nessuno vuole tornare indietro e la decisione pessima va in produzione.

AAhmetNuovo membro
Ruolo
Studente · software
Tipo di organizzazione
azienda familiare
Iscrizione
gen 2025
Messaggio
48
#4

Posso dire una cosa da principiante?

Per me la parte più difficile non è non prendere i commenti sul personale. Quando arriva un commento che non capisco, esito a chiedere di nuovo, penso di sembrare stupido. Poi correggo a intuito e sbaglio.

Non so se succede solo a me, ma forse capita anche ad altri.

RRıdvan Y***Esperto
Ruolo
Team leader software
Iscrizione
set 2023
Messaggio
196

Doki · Design interfaccia · 2023

#5

Non succede solo a te, è molto comune ed è compito nostro correggerlo, non tuo.

Da noi hanno funzionato due cose. La prima: quando scrivi un commento, scrivi anche la motivazione. Invece di "cambia qui", dire "dà errore in questa situazione, quindi è meglio così". Se c'è la motivazione, il bisogno di fare domande diminuisce.

La seconda: quando ci sono più di due round di messaggi, portare la conversazione in chat. Una call di quindici minuti è più veloce di quindici commenti e molto meno logorante.

E poi vi dico una cosa: non esistono domande stupide. Altre tre persone nel team si chiedono la stessa cosa che chiedi tu, ma non domandano. Facendo la domanda, fai un favore a tutte e quattro.

SSerhatPartecipante
Ruolo
Sviluppatore Go
Iscrizione
mag 2024
Messaggio
88
#6

Lasciare le discussioni di stile agli strumenti è da sola il guadagno maggiore. Si configura in una settimana, fa risparmiare tempo per anni.

SSinemEsperto
Ruolo
Project manager
Iscrizione
ott 2023
Messaggio
176
#7

Un avviso da parte del project management: inserite la durata della review nel piano.

Da noi è andata così: per un bel po' non abbiamo considerato la code review parte del lavoro, nel piano c'era solo il tempo di sviluppo. Risultato: ogni review veniva vista e fatta come "quella cosa che ritarda tutto", giusto per finta.

Da quando l'abbiamo messa nel piano, nessuno sabota più le review, perché ormai non è più un ritardo, è parte del piano stesso.

GGürkanPartecipante
Ruolo
Settore energetico
Tipo di organizzazione
boutique agency
Iscrizione
nov 2023
Messaggio
94
#8

Ho vissuto la stessa cosa.

AAyşegülPartecipante
Ruolo
Boutique hotel
Tipo di organizzazione
laboratorio
Iscrizione
ago 2024
Messaggio
86
#9

Esattamente così. Se non lo rendete scritto fin dall'inizio, poi nascono discussioni.

Lascio una nota potrebbe servire.

TTolga Y***Esperto
Ruolo
Responsabile export
Settore
Tipografia
Tipo di organizzazione
catena di negozi
Iscrizione
ago 2023
Messaggio
3
#10

Concordo pienamente. Il fatto che tutti facciano una cosa non significa che sia quella giusta.

Se avete domande, scrivete, rispondo per quanto possibile.

TTülay K***PartecipanteMembro della community
Iscrizione
mar 2023
Messaggio
216
#11

A me è successo l'esatto contrario per questo scrivo. Il vero problema non è il numero, ma su cosa si basa quel numero.

Se scrivete qui il risultato, sarà utile anche ad altri.

ŞŞerife K***Veteran
Ruolo
Direttore clinico
Settore
Elettrotecnica ed elettronica
Tipo di organizzazione
startup appena avviata
Iscrizione
dic 2023
Messaggio
128
#12

Lascio un avvertimento. Quando prendi una decisione, guarda prima quali dati hai a disposizione.

Nessun processo migliora senza tracciamento perché non sai cosa correggere. Sono curioso di sapere se qualcuno lo fa in modo diverso.

KKaan G***EspertoMembro della community
Iscrizione
giu 2023
Messaggio
94
#13

Ti seguo.

EElif B***Partecipante
Ruolo
Coordinatore corrieri
Settore
Servizi sanitari
Tipo di organizzazione
azienda all'interno di un gruppo
Iscrizione
dic 2023
Messaggio
228
#14

Anche da noi è così.

AAlper E***PartecipanteMembro della community
Iscrizione
dic 2024
Messaggio
184
#15

Salvato.

JJülide A***Partecipante
Ruolo
Direttore amministrativo
Settore
Gioielleria
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
mag 2024
Messaggio
103

Doki · Scansione vulnerabilità · 2026

#16

Riassumo l'argomento, perché sono state date diverse risposte. Inizia con un piccolo test non impegnarti subito su tutto.

Io seguirei questa strada.

GGökhan A***Partecipante
Ruolo
Produttore · mobili
Iscrizione
ott 2023
Messaggio
74
#17

Scusate, ma questo non vale in ogni caso. Le soluzioni che funzionano su piccola scala crollano quando si cresce, l'ho imparato tardi.

Correggetemi se sbaglio.

YYasemin S***PartecipanteMembro della community
Iscrizione
feb 2024
Messaggio
42
#18

Raro trovare articoli che spiegano le cose così chiaramente. Non abbiate paura di chiedere, chi non chiede paga sempre di più.

Se lo scope cresce devono crescere o i tempi o il budget. Non c'è una terza opzione. Sono curioso di sapere se qualcuno lo fa in modo diverso.

RRecepNuovo membro
Ruolo
Idraulico
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
dic 2024
Messaggio
22
#19

argometno molto attuale.

AAlper P***Partecipante
Ruolo
System administrator
Settore
Immobiliare
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
ago 2024
Messaggio
85
#20

Preso nota, grazie.

Rispondi