Desenvolvimento de Software – A Prática do Clean Code.pdf

download Desenvolvimento de Software – A Prática do Clean Code.pdf

of 2

Transcript of Desenvolvimento de Software – A Prática do Clean Code.pdf

  • 5/27/2018 Desenvolvimento de Software A Pr tica do Clean Code.pdf

    Desenvolvimento de Software A Prtica do Clean Code

    Em dezembro de 2013, comecei a ler o livro Clean Codedo autor Robert C. Martine devo dizer que aprendimuita, muita coisa com ele. Para quem se recorda, naparte 9sobre dicas para o desenvolvimento de umsoftware fiz uma breve introduo ao Clean Code, como tambm venho elaborando alguns artigos recentessobre este assunto.

    Imagem viaShutterstock

    Hoje dia de entrar um pouco mais nos detalhes dessa prtica e conhecer algumas orientaes de comoempreg-la. Limpeza no cdigo j!

    Antes de iniciar o artigo, gostaria de fazer um agradecimento ao Rmu lo Pelach ini, um mega profissional emprogramao, pela gentileza em me emprestar o livro. Valeu, Rmulo!

    Todos ns, desenvolvedores, temos o desejo de ver o nosso cdigo funcionando da melhor forma, no ?Quando digo funcionando, no me refiro apenas execuo correta da funcionalidade, mas tambm qualidade do cdigo e o nvel de expressividade que ele expe. Afinal, quando implementado um cdigo, oresultado ser visto tanto pelo cliente quanto por ns mesmos. Quem j no se deparou com um cdigo antigoe ficou por horas interpretando a lgica? Quem j no teve de refazer blocos de cdigo por causa da falta declareza? A propsito, vou deixar a questo da expressividade para outro artigo.

    O conceito de Clean Codefoi elaborado justamente para evitar a ilegibilidade do cdigo e aprimorar a qualidadeda nossa codificao. Na verdade, um conjunto de prticas que deve ser adotado por qualquer programador

    que queira ser reconhecido como um bom profissional. Porm, ao contrrio do que muitos pensam, no bastasomente ler um livro e acreditar que j conhece as diretrizes do Clean Code. preciso prtica, raciocnio e,acima de tudo, determinao para produzir algo de qualidade. Por esse motivo, decidi reunir alguns pontosapresentados no livro e compartilh-los aqui no PTI para disseminar essa prtica. Leia-os atentamente elembre-se deles ao implementar o seu prximo cdigo.

    1) No possvel criar um cdigo limpo de primeiraPor mais que um desenvolvedor tente, praticamente impossvel. Claro, extremamente importante que umdesenvolvedor j comece a programar com as diretivas do Clean Codeem mente mas, eventualmente, eleacabar voltando ao cdigo para refatorar ou renomear alguns mtodos que ficaram passveis de minterpretao. No entanto, isso perfeitamente natural. Quando iniciamos uma nova implementao, nosabemos exatamente quais, quantos e como sero os mtodos que devemos implementar. medida que o

    cdigo vai tomando forma que comeamos a nossa limpeza.

    2) Pare de programar quando notar que o cdigo est ruimEvite implementar o cdigo por completo e s depois partir para o Clean Code. A limpeza deve ser feita aospoucos, caso contrrio, bem provvel que o desenvolvedor perca o foco do cdigo como um todo. Aquela

    http://www.profissionaisti.com.br/2013/10/dicas-para-o-desenvolvimento-de-um-software-funcional-parte-ix/http://www.profissionaisti.com.br/2013/10/dicas-para-o-desenvolvimento-de-um-software-funcional-parte-ix/http://www.profissionaisti.com.br/2013/10/dicas-para-o-desenvolvimento-de-um-software-funcional-parte-ix/http://www.shutterstock.com/pt/pic-172084607/stock-photo-hacker-using-laptop-lots-of-digits-on-the-computer-screen.htmlhttp://www.shutterstock.com/pt/pic-172084607/stock-photo-hacker-using-laptop-lots-of-digits-on-the-computer-screen.htmlhttp://www.shutterstock.com/pt/pic-172084607/stock-photo-hacker-using-laptop-lots-of-digits-on-the-computer-screen.htmlhttp://www.profissionaisti.com.br/wp-content/uploads/2014/04/programacao-codigo-qualidade-software.jpghttp://www.shutterstock.com/pt/pic-172084607/stock-photo-hacker-using-laptop-lots-of-digits-on-the-computer-screen.htmlhttp://www.profissionaisti.com.br/2013/10/dicas-para-o-desenvolvimento-de-um-software-funcional-parte-ix/
  • 5/27/2018 Desenvolvimento de Software A Pr tica do Clean Code.pdf

    ideia de vou deixar assim por enquanto e depois eu volto para arrumar uma passagem grtis para oesquecimento. Portanto, quando perceber que o cdigo est tomando propores inadequadas e apresentandosinais de duplicao, interrompa a implementao e faa uma limpeza antes de continuar. Na verdade, amesma situao de um bloco de cimento recm aplicado: aproveite para arrum-lo enquanto ainda no estseco. Se ele secar, o trabalho de remov-lo ou reform-lo ser muito mais difcil.

    3) Aprenda a programar com pacinciaUm dos efeitos do Clean Code o trabalho constante de remover e adicionar o mesmo cdigo repetidas vezes.Isso faz parte do processo de maturidade para alcanar o nvel ideal de qualidade. J perdi a conta das vezesque criei, alterei, removi, criei novamente e renomeei uma classe. A cada etapa, eu levantava um ponto de vistadiferente do cdigo e o alterava para torn-lo mais claro.

    Como analogia, imagine que voc tenha acabado de se mudar para uma nova casa e est organizando osmveis da sala para descobrir qual a acomodao mais confortvel. Para isso, voc provavelmente precisarmudar os mveis de lugar vrias vezes, concorda? Esse o sentido! Assim como voc busca a melhordisposio dos mveis na sala, tambm deve buscar a melhor organizao do cdigo no seu programa.Aproveitando a analogia, lembre-se de que, da mesma forma que voc receber visitas na sua sala, o seucdigo tambm receber visitas de outros programadores.

    Em concluso, sevoc deseja criar um cdigo limpoe com qualidade, esteja preparado para desfazer e refazerblocos de cdigo quantas vezes forem necessrias.

    4) Considere a codificao como uma atividade de riscoSe um requisito funcional no documentado, simples refazer a documentao. Se houve uma falha naestimativa, fcil refazer o cronograma. Porm, se um cdigo estiver ruim, refaz-lo algo demorado e, muitasvezes, custoso. Alm disso, no se garante que ele ter o mesmo funcionamento como antes.

    Devemos nos comprometer com a relevncia da nossa codificao, visto que o resultado do cdigo (e,consequentemente, da funcionalidade) est intimamente relacionado com o nosso nvel de responsabilidade. Aideia aqui no pressionar a conscincia do programador e penaliz-lo por construir um cdigo imperfeito, masapenas sugerir que ele considere a importncia dessa atividade no ciclo de vida do projeto.

    5) Aumente a sua sensibilidade ao cdigoConforme utiliza as prticas do Clean Code, o desenvolvedor produz e amplia uma habilidade conhecida comosensibilidade ao cdigo. Este termo se refere capacidade de visualizar um cdigo mal escrito eimediatamente pensar em diferentes formas de limp-lo. Renomear variveis, desfazer blocos aninhados,refinar condies, extrair mtodos e at mesmo considerar alternativas mais viveis paratratar as regras denegcioso exemplos de sensibilidade tcnica de um profissional. Quanto maior for este nvel de sensibilidade,melhor sero as solues propostas e desenvolvidas pelo desenvolvedor.

    6) Codifique pensando na leituraUma boa recomendao para praticar o Clean Code implementar o cdigo j imaginando que outrodesenvolvedor futuramente ir interpret-lo. Na realidade, isso ir acontecer! Portanto, procure ler cada mtodologo aps implement-los e mea o nvel de legibilidade. Ou ento, tente se colocar no lugar de outra pessoa eencontre as dificuldades que ela possivelmente teria ao ler o seu cdigo. Embora parea uma tarefa maante, at gratificante, j que voc acaba contemplando a qualidade do seu prprio cdigo.

    Leitores, sei que o artigo ficou um pouco extenso, mas espero ter transmitido as premissas adequadas paracomear a praticar o Clean Code. Continuarei elaborando alguns artigos sobre este assunto nos prximosmeses. Aguardem!

    Um grande abrao a todos e at a prxima!

    http://www.profissionaisti.com.br/2011/02/programacao-como-escrever-um-codigo-limpo/http://www.profissionaisti.com.br/2011/02/programacao-como-escrever-um-codigo-limpo/http://www.profissionaisti.com.br/2011/02/programacao-como-escrever-um-codigo-limpo/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/http://www.profissionaisti.com.br/2011/02/programacao-como-escrever-um-codigo-limpo/
  • 5/27/2018 Desenvolvimento de Software A Pr tica do Clean Code.pdf