Código limpo de milhões!
Tags: cleancode, programacao, programming, productivity
Published: 2023-04-07 18:51:10

Seu código é limpo, tudo bem! Mas ele é de milhões?

## O que é um código limpo?

Gosto de dizer que um código limpo não impõe dificuldades desnecessárias para sua compreensão e busca utilizar a maneira mais eficaz de resolver os problemas propostos.

Logo, o oposto também é possível, um código incompreensível, que resolve tudo da forma mais complexa, e ainda sim funciona.

<cite>
Mesmo um código ruim pode funcionar. Mas se ele não for limpo, pode acabar com uma empresa de desenvolvimento. — Robert C. Martin
</cite>

Mas se um código ruim funciona, pra que eu devo me preocupar em fazer do jeito certo?

### Devo me preocupar em aprender isso?

Escrever um código melhor, significa menos esforço (e tempo) para qualquer atividade, seja criativa, manutenção, refatoração, ou até mesmo a admissão de um novo colaborador que ainda não conhece seu código, mas saiba que daqui a 6 meses, você pode não lembrar tudo sobre o que programou, então as outras pessoas não são as únicas que se beneficiam disso.

### Quem está começando deveria aprender também?

Se você está aprendendo a programar ou mesmo programando há 10 anos, não importa muito, pois o quanto antes aprendermos boas práticas, melhor, mas nunca é tarde para começar.

Escrever código limpo é um processo de aprendizado e devemos assumir, que para escrever um código muito bom, é necessário começar escrevendo código ruim, este é um passo que não dá para pular, e mesmo depois que você aprender a escrever um código melhor, ainda existirão ocasiões onde você não vai conseguir seguir as boas práticas de um código limpo, por isso, o último tópico deste assunto se chama “Bom Senso”.

## Aqui vão alguns temas clássicos e comuns que prezam pela qualidade do código escrito

### Nomes

Funções, classes, métodos, argumentos, variáveis, tudo que pode ser nomeado deve possuir um nome explicativo para que a pessoa que esteja lendo não tenha que investigar o que este código faz, mas entender pelo nome.

### KISS — Keep It Simple Stupid

É comum adicionar complexidade em algo poderia ser bem mais simples, e faz parte de aprender, porém, uma abordagem simples ajuda muito para outras pessoas compreenderem e também para você, depois que passar um bom tempo sem olhar para a sua criação.

### DRY — Don’t Repeat Yourself

Este conceito incentiva o reuso de código que seria repetido em diversas partes do seu programa, realizando sempre as mesmas tarefas, onde qualquer modificação que fosse necessária, teria de ser feita em todos os locais que todas essas tarefas ocorrem.

Utilizando este princípio, a pessoa iria reusar o mesmo pedaço de código e sempre que precisasse modificá-lo, esta modificação seria feita em um lugar apenas, tendo efeito em todas as localidades que o utilizam.

### Regra do escoteiro

Há um princípio do escotismo que diz que, uma vez que você sai da área em que está acampando, você deve deixá-la mais limpa do que quando a encontrou.

Na programação, este conceito é bem importante pois nem sempre estaremos lidando com um código amigável, mas temos que ter o compromisso de primar pela qualidade do código e das boas práticas.

### Padrões / Convenções

Um dos pontos mais importantes de um código limpo é a sua padronização, onde devemos definir certas regras que são importantes para a compreensão dos envolvidos, como por exemplo:

- Usar camel case ou pascal case nos nomes
- Constantes com nomes em maiúsculo
- Classes com a primeira letra maiúscula

Estes são alguns exemplos que são abordados em projetos reais e costumam ser definidos e seguidos pelos seus colaboradores.

### Comentários

Comentários no código é um assunto certamente polêmico, alguns acham essencial, outros um pecado, mas a verdade é que depende!

Depende do projeto que você está, das práticas incentivadas na sua equipe e acima disso tudo, depende de quem escreve o código.

Um código bem escrito é a sua própria documentação, todas as variáveis e funções tem nomes muito explicativos e só de ler você entende o que está acontecendo, mas nem sempre lidamos com código bem escrito.

Comentários são um bom recurso para lidar com um código bagunçado pois precisamos deixar claro o que aqueles números mágicos e funções com nomes engraçados fazem.

Os comentários são seus amigos, eles existem para te ajudar e você deve usar se achar que faz sentido.

### Tratamento de erros

É inevitável se deparar com erros e comportamentos inesperados na programação, e é uma boa prática realizar tratamentos para eliminar ou minimizar estes problemas, pois se aconteceu uma vez, irá acontecer novamente e é melhor estar preparado para tal.

Muitas vezes temos erros causados pelo comportamento do usuário, digitando letras onde deveria ter apenas números, por exemplo, e este é outro ponto importante no tratamento de erros, cobrir os erros causados pelo usuário.

Devemos enxergar o usuário como uma criança:

- A maior parte do tempo não sabe o que está fazendo
- Nunca vai saber ou se importar com a consequência dos seus atos e por isso você deve se preocupar por ele
- Deve ser protegido de coisas que não devem ser de sua preocupação (como códigos de erros gigantes)

### Bom senso

Mais importante que um milhão de regras é ter bom senso para compreender que as regras são um guia e nem sempre poderemos seguí-las mas devemos buscar reforçá-las, contudo, o objetivo destas regras é ajudar a melhorar a qualidade de código e facilidade de manutenção, mas se achar que estão atrapalhando você e a sua equipe mais do que ajudando, bem, está aí mais uma oportunidade de exercitar seu bom senso!

## Referências

[Clean Code - Guia e Exemplos - André Baltieri](https://balta.io/blog/clean-code)

[Livro Clean Code de Robert C. Martin](https://www.oreilly.com/library/view/clean-code-a/9780136083238/)

Imagem de capa: [Freepik](https://www.freepik.com/free-photo/html-css-collage-concept-with-person_36295457.htm#query=code&position=1&from_view=search&track=sph)