Revisão de Código é Mais Do Que Revisar Código

Preview:

DESCRIPTION

Artigo de Mauricio Aniche sobre revisão de código.

Citation preview

  • 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

Recommended