revisão de código é mais do que revisar código
DESCRIPTION
Artigo de Mauricio Aniche sobre revisão de código.TRANSCRIPT
-
Apesardenoserumadasprticasmaispopularesemtimesgeis(elanonemcitadanoquestionriode2014daVersionOne,porexemplo),arevisodecdigovemganhandoseuespaonasequipesdedesenvolvimentodesoftware.Afinal,asditasvantagensdaprticasovrias:adiminuionaquantidadededefeitoseaumentodaqualidadedocdigoproduzido,facilitandosuamanutenoeevoluo.
Oprprionomerevisodecdigodeixaclarooobjetivodaprtica.Aideiaqueocdigoescritoporumdesenvolvedor,antesdeserpromovidoaoambientedeproduo,sejarevisadoporoutromembrodaequipe.Essasrevisespodemserfeitasdediversasmaneiras,como,porexemplo,programaopareada,oumesmonavegandopelosartefatosmodificados.Comumente,orevisoranotatodososproblemasencontradosedevolveaoautororiginaldaquelecdigo.Oautorentoavaliaoscomentriosrecebidoseeventualmenteospropagaparaocdigofonte.
NaCaelum,emparticular,asequipesfazemusodoprprioGithub,oserviodehospedagemdecdigo,parafazersuasrevises.Apsafinalizaodeumahistria,odesenvolvedoranotaalistadecommitseartefatosmodificados.Umoutromembrodotime,empossedessalista,inspecionatodoocdigomodificadotodoequalquerproblemaencontradopelorevisorsalvoemcomentriosnoprprioGithub.Odesenvolvedororiginal,aoreceberosemailsenviadosautomaticamentepelaferramenta,discuteetiradvidascomseurevisor,eeventualmentealteraocdigoparasatisfazerasugesto.
Interessantemente,imaginamosqueumcdigoquetenhapassadoreviso,tenhaumaqualidademelhor,sejamenoscomplexo,maissimplesefcildeserentendidoemantido.Masserqueissoacontecesempreedemaneiranatural?Resolvemosfazerumpequenoestudo
Revisodecdigomaisdoquerevisarcdigo?
Postadodia06/01/2015porMaurcioAnicheemInovao 10
-
dentrodasequipesdaCaelumparaentenderquaiseramosbenefciosquearevisodecdigonostrazia.
Oprimeiropassofoitentarmediroaumentodaqualidadedecdigo.DecidimosautomatizarissoolhandoparanossosrepositriosnoGithub.DadoquetodasasnossasrevisesacontecemnoGithub,decidimospegartodasasclassesqueforamrevisadas,eaversodelaantesedepoisdareviso.Porexemplo,aclasseAluno.Pegamosaquantidadedelinhasdecdigoantesedepoisdareviso.Aideiaqueessenmerodiminua.Fizemosissocomvriasmtricasdecdigodiferentes,comocomplexidadeciclomtica,linhasdecdigo,faltadecoesodosmtodoseacoplamentoeferente.
E,paranossasurpresa,percebemosqueosnmerosnomudaramtantoassimapsumareviso.Ouseja,aqualidadedocdigo,sobopontodevistadessasmtricas,continuouamesmanamaioriaabsolutadasvezes.Nodesenhoabaixo,vocpodeverqueacomplexidadedocdigonomudounamaioriadasvezes.Interessante,no?!
Nasequncia,optamospormandarquestionriosparanossosdesenvolvedores,perguntandoaopiniodelessobreessesresultados,queerambemcontraditrios.
Earespostadelesfoibastanteinteressante!Osresultadosmostraramquenossasequipessebeneficiamdainerentedisseminaodeconhecimentoqueaconteceaolerocdigoproduzidoporoutrodesenvolvedor.Apercepodereduodedefeitostambmacontece,jqueorevisorcomumenteencontraproblemasnocdigoproduzidopelodesenvolvedororiginal.Osdesenvolvedorestambmtmapercepodemelhoriadaqualidadeinterna,emboraissonotenhaserefletidonasmtricasdecdigocoletadas.
-
MaurcioAniche
Ouseja,arevisodecdigonoservesparamelhoraraqualidadedocdigo,mastambmparadisseminarconhecimentoentreosmembrosdaequipe,eajudaraencontrarbugsqueoprimeirodesenvolvedordeixoupassar.
Sevocquiserlermelhorsobrenossoestudo,podeleroartigoquepublicamosnoWBMA2014,oworkshopacadmicoqueacontecejuntocomaAgileBrazil.Emnossoscursosdeagilidade,discutimosousodediversasprticascomorevisodecdigoeprogramaopareada.
Evoc,fazrevisodecdigo?Emsuaopinio,noqueelaajudasuaequipe?
Compartilhe
Tags:gil,codigo,review
Facebook Twitter