You are on page 1of 2

Desenvolvimento de Software A Prtica do Clean Code

Em dezembro de 2013, comecei a ler o livro Clean Code do autor Robert C. Martin e devo dizer que aprendi muita, muita coisa com ele. Para quem se recorda, na parte 9 sobre dicas para o desenvolvimento de um software fiz uma breve introduo ao Clean Code, como tambm venho elaborando alguns artigos recentes sobre este assunto.

Imagem via Shutterstock Hoje dia de entrar um pouco mais nos detalhes dessa prtica e conhecer algumas orientaes de como empreg-la. Limpeza no cdigo j! Antes de iniciar o artigo, gostaria de fazer um agradecimento ao Rmulo Pelachini, um mega profissional em programao, 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, o resultado ser visto tanto pelo cliente quanto por ns mesmos. Quem j no se deparou com um cdigo antigo e ficou por horas interpretando a lgica? Quem j no teve de refazer blocos de cdigo por causa da falta de clareza? A propsito, vou deixar a questo da expressividade para outro artigo. O conceito de Clean Code foi elaborado justamente para evitar a ilegibilidade do cdigo e aprimorar a qualidade da 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 basta somente 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 pontos apresentados no livro e compartilh-los aqui no PTI para disseminar essa prtica. Leia-os atentamente e lembre-se deles ao implementar o seu prximo cdigo. 1) No possvel criar um cdigo limpo de primeira Por mais que um desenvolvedor tente, praticamente impossvel. Claro, extremamente importante que um desenvolvedor j comece a programar com as diretivas do Clean Code em mente mas, eventualmente, ele acabar voltando ao cdigo para refatorar ou renomear alguns mtodos que ficaram passveis de m interpretao. No entanto, isso perfeitamente natural. Quando iniciamos uma nova implementao, no sabemos 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 ruim Evite implementar o cdigo por completo e s depois partir para o Clean Code. A limpeza deve ser feita aos poucos, caso contrrio, bem provvel que o desenvolvedor perca o foco do cdigo como um todo. Aquela

ideia de vou deixar assim por enquanto e depois eu volto para arrumar uma passagem grtis para o esquecimento. Portanto, quando perceber que o cdigo est tomando propores inadequadas e apresentando sinais de duplicao, interrompa a implementao e faa uma limpeza antes de continuar. Na verdade, a mesma situao de um bloco de cimento recm aplicado: aproveite para arrum-lo enquanto ainda no est seco. Se ele secar, o trabalho de remov-lo ou reform-lo ser muito mais difcil. 3) Aprenda a programar com pacincia Um 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 vezes que criei, alterei, removi, criei novamente e renomeei uma classe. A cada etapa, eu levantava um ponto de vista diferente 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 os mveis da sala para descobrir qual a acomodao mais confortvel. Para isso, voc provavelmente precisar mudar os mveis de lugar vrias vezes, concorda? Esse o sentido! Assim como voc busca a melhor disposio 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 seu cdigo tambm receber visitas de outros programadores. Em concluso, se voc deseja criar um cdigo limpo e com qualidade, esteja preparado para desfazer e refazer blocos de cdigo quantas vezes forem necessrias. 4) Considere a codificao como uma atividade de risco Se um requisito funcional no documentado, simples refazer a documentao. Se houve uma falha na estimativa, fcil refazer o cronograma. Porm, se um cdigo estiver ruim, refaz-lo algo demorado e, muitas vezes, 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. A ideia aqui no pressionar a conscincia do programador e penaliz-lo por construir um cdigo imperfeito, mas apenas sugerir que ele considere a importncia dessa atividade no ciclo de vida do projeto. 5) Aumente a sua sensibilidade ao cdigo Conforme utiliza as prticas do Clean Code, o desenvolvedor produz e amplia uma habilidade conhecida como sensibilidade ao cdigo. Este termo se refere capacidade de visualizar um cdigo mal escrito e imediatamente pensar em diferentes formas de limp-lo. Renomear variveis, desfazer blocos aninhados, refinar condies, extrair mtodos e at mesmo considerar alternativas mais viveis para tratar as regras de negcio so 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 leitura Uma boa recomendao para praticar o Clean Code implementar o cdigo j imaginando que outro desenvolvedor futuramente ir interpret-lo. Na realidade, isso ir acontecer! Portanto, procure ler cada mtodo logo aps implement-los e mea o nvel de legibilidade. Ou ento, tente se colocar no lugar de outra pessoa e encontre 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 para comear a praticar o Clean Code. Continuarei elaborando alguns artigos sobre este assunto nos prximos meses. Aguardem! Um grande abrao a todos e at a prxima!