Stavo pensando, ci viene insegnato ad eseguire revisioni del codice, ispezioni ecc. ma in realtà qualcuno fa davvero un lavoro formale ( Fagan ) ispezioni? Non riesco a trovare nulla sull'argomento.
Le ispezioni Fagan hanno lo scopo di catturare gli errori nelle prime fasi di un processo a cascata esplicito in modo che il team abbia meno probabilità di dover risalire il processo per correggere gli errori, perché farlo è straordinariamente costoso.
I processi a cascata in generale e i prodotti di lavoro che li supportano sono caduti in disgrazia per il software consumer perché il costo di essere in ritardo sul mercato è molto più alto del costo di rilavorazione nella maggior parte dei casi.
Tuttavia, se stai scrivendo qualcosa che deve funzionare correttamente il tempo prima , allora un processo a cascata e le ispezioni Fagan sono la strada da percorrere. Mi aspetto che siano ancora ampiamente praticati all'interno di organizzazioni come la NASA e l'aeronautica. Una volta ho parlato con un programmatore di Honeywell e ha commentato che ha passato così tanto tempo in ispezioni che è stato fortunato a scrivere una funzione al giorno, ma quella funzione era così ben specificata e recensita che era praticamente impossibile che fosse errata . (Nota il "virtualmente" nella frase.Il volo inaugurale di Mars Polar Lander e Ariane 5 sono famosi esempi in cui anche quel livello di ispezione è fallito.)
Sì, direi che è ciò che è solitamente noto come test unitario - non revisione del codice.
Dall'articolo Wikipedia collegato: "Fagan Inspection definisce un processo come una determinata attività con un criterio di entrata e uscita pre-specificato. In ogni attività o operazione per i quali sono specificati i criteri di entrata e uscita Fagan Inspections può essere usato per convalidare se l'output del processo è conforme ai criteri di uscita specificati per il processo. "
I test unitari testano le unità di codice secondo i criteri di entrata e uscita predefiniti. Si noti che non in questo articolo si dice che la "recensione" deve essere eseguita da un codice di lettura umano con i loro occhi. È esplicitamente sul confronto tra input e output e non dice nulla su quanto sia ben scritto un pezzo di codice. Il test delle unità è un modo automatico di rivedere se una parte di codice con una voce pre-specificata soddisfa i criteri di uscita pre-specificati.
Quindi sì, molti sviluppatori di software eseguono ispezioni Fagan - ma quelle non sono recensioni di codice, sono test unitari.
Leggi altre domande sui tag code-reviews