"Até código ruim pode funcionar, porém todo ano empresas perdem um número incontável de horas por causa de códigos mal escritos... não precisa ser assim."

O livro Clean Code: A Handbook of Agile Software Craftsmanship traduzido para o português como Código Limpo: Habilidades Práticas do Agile Software é um dos mais populares da nossa área. Inclusive já vi empresas que somente contratavam um programador se ele já tivesse lido este livro.

Robert C. Martin não somente é conhecido por este livro, como também por ser co-autor do The Agile Manifesto.

A missão principal do livro é melhorar ainda mais o estado da arte no desenvolvimento de software. O que foi escrito nesse livro é o que funciona na prática e não o que deveria funcionar na teoria.

O que você irá ler é o que o autor fez, não o que ele acha que você deveria fazer.

Um dos pontos que o livro bate é que pequenos detalhes importam, então não cabem pensamentos como “ah esse detalhe X é bobeira”… pois pode não ser. Talvez para projetos pequenos nada disto importa, mas quando o tempo passa e a complexidade aumenta é notável o reflexo negativo espalhado por todo o projeto causado pelo descuido inicial.

Algo importante que está no prefácio escrito por James O. Coplien e que casa perfeitamente com os princípios defendidos por Robert C. Martin é que 80% do que fazemos em desenvolvimento de software pode ser considerado como reparo. Então o que podemos fazer para facilitar esta situação? Eles trazem para a mesa uma filosofia japonesa para controle de qualidade chamada Total Productive Maintenance:

O foco deste controle de qualidade está na manutenção e não na produção.

Diferente, não? Na maioria das vezes o foco é cegamente no aumento da produção, mas mal sabem as pessoas que manutenção pode se tornar aquelas bolas de ferro amarradas no pé e que te impossibilitam de andar/produzir mais rápido no final das contas.

Em detalhes, a filosofia é composta por 5 conceitos:

  1. Ordenação: nomear variáveis, funções e arquivos de forma apropriada para que você consiga encontrar o que está procurando.
  2. Sistematizar: cada coisa no seu lugar. Um pedaço de código deve estar onde você espera encontrá-lo, do contrário, mova ele para lá.
  3. Limpeza: mantenha o seu código limpo, como por exemplo, indentação correta e remover blocos de código antigos que estão comentados.
  4. Padronização: todo mundo do time faz as coisas da mesma forma, no mesmo estilo.
  5. Disciplina: seja disciplinado, siga as regras e esteja aberto a mudanças pessoais para se adaptar ao que foi combinado.

Em resumo, construa programas que sejam mais fáceis de refatorar, de se fazer manutenção. Escrever um código legível é tão importante quanto fazer ele funcional, pois do contrário você não vai conseguir evoluí-lo.

Este livro irá lhe ensinar o que você precisa aprender sobre a heurística da programação, princípios, patterns e também o que colocar em prática para chegar ao ponto de se sentir genuinamente incomodado quando encontrar algo fora do lugar.

Qual o próximo passo?

Acessar o próximo artigo onde vamos entender o que é um código limpo e código sujo: Clean Code: 2 O que é código limpo?

Ou nos siga no Youtube e Facebook :)