Quando falamos em desenvolvimento de software, uma das questões mais importantes que surgem é a qualidade do código.
Afinal, um código bem escrito não só facilita a manutenção e o entendimento por parte dos programadores, mas também aumenta a eficiência do processo de desenvolvimento do sistema. E é aqui que entra o conceito de Clean Code, ou seja, Código Limpo.
O que é Clean Code?
Em sua essência, Clean Code refere-se a um estilo de programação que enfatiza a legibilidade, a facilidade de manutenção e a eficiência do código.
Um código limpo é aquele que é fácil de entender e até mesmo modificar. Isso facilita a colaboração entre membros da equipe e reduz a incidência de problemas (bugs).
Surgimento do termo Clean Code
O termo Clean Code foi popularizado pelo renomado autor e consultor em engenharia de software, Robert C. Martin, em seu livro homônimo “Clean Code: A Handbook of Agile Software Craftsmanship”.
No livro, o autor ensina que o código deve ser escrito de forma a ser compreensível não apenas pela máquina, mas também por outros programadores, tanto aqueles que estão trabalhando no projeto, mas também aqueles que possam vir a trabalhar.
Por que aprender o Clean Code e por que ele é importante?
Aprender a escrever código limpo é fundamental para qualquer desenvolvedor, independentemente do nível de experiência.
Um código limpo não apenas torna a vida dos desenvolvedores mais fácil, mas também contribui para a criação de sistemas mais confiáveis.
Considerando que um código limpo é mais fácil de manter e evoluir no decorrer do projeto, isso nos traz mais economia de tempo e recursos com o passar do tempo.
Para que serve o Clean Code?
O Clean Code serve como um guia para os desenvolvedores escreverem código de alta qualidade, seguindo boas práticas e princípios de engenharia de software.
Esse guia ajuda a evitar armadilhas comuns que podem levar a código difícil de entender e manter, promovendo a criação de sistemas mais flexíveis e adaptáveis.
Princípios e regras fundamentais do Clean Code
Nomes Significativos
Nomes de variáveis, métodos e classes devem ser descritivos e representar claramente o propósito que estão cumprindo. Por exemplo:
Ruim:
Bom:
Convenção de nomenclatura
É uma prática essencial para escrever um código limpo e legível. Uma convenção de nomenclatura consistente e significativa facilita a compreensão do código-fonte por outros desenvolvedores e por você mesmo no futuro.
Usar convenção de nomenclatura é essencial para a nomeação de funções, classes e variáveis, pois através dela podemos escrever nomes mais explicativos
Aqui trazemos dois exemplos camelCase x SnakeCase
camelCase: deve começar com a primeira letra minúscula e a primeira letra de cada nova palavra subsequente maiúscula.
snake_case: conhecido também como “underscore case”, utilizamos underline no lugar do espaço para separar as palavras.
Funções Pequenas e Concisas
As funções devem ser curtas e fazer apenas uma coisa. Isso facilita a compreensão do código e a reutilização de trechos de código. Por exemplo:
Ruim:
Bom:
Evitar Repetição de Código
Duplicação de código deve ser evitada sempre que possível, pois torna o código mais difícil de manter e modificar. Por exemplo:
Ruim:
Bom:
Comentários descritivos
Comentários devem ser usados de forma controlada e apenas quando necessário. Eles também precisam esclarecer o propósito ou o funcionamento de trechos de código complexos. Por exemplo:
Ruim:
Bom:
Outras regras para escrever um bom código
Além dos princípios do Clean Code que listamos acima, existem várias outras regras que podem ajudar os desenvolvedores a escrever um código com mais qualidade.
Neste tópico, vamos abordar algumas dessas diretrizes adicionais, com exemplos de como aplicá-las corretamente e evitar os erros mais comuns.
Design
Atente-se ao Princípio da Responsabilidade Única (Single Responsibility Principle – SRP). Ou seja, cada classe ou módulo deve ter apenas uma razão para mudar.
Isso significa que uma classe deve ter uma única responsabilidade e não deve ser sobrecarregada com múltiplas tarefas.
Ruim:
Bom:
Muitas das vezes o código do projeto se torna muito extenso em tamanho de linhas por conta de más práticas ao fazer métodos ou condições. O código abaixo poderia ser escrito em uma linha se usássemos o if conhecido como ternário.
Ruim:
Bom:
Entendimento do código
Mantenha a consistência do projeto/código. Use um estilo consistente de formatação e nomenclatura ao longo do código.
Isso facilita a leitura e compreensão por parte de outros desenvolvedores.
Ruim:
Bom:
Condições de comparação podem se tornar um grande problema. Em alguns casos, a utilização do if poderia ser substituída por outra forma para melhorar o desempenho do código.
Ao invés de utilizar uma série de if-elif-else, podemos usar um dicionário como uma forma de mapeamento.
Isso é útil quando temos uma escolha a ser feita com base em uma entrada, e cada escolha tem um valor associado.
Ruim:
Bom:
Nomes
É muito importante, na hora de programar, usar nomes significativos.
Por isso, opte sempre por nomes descritivos para variáveis, métodos e classes. Eles devem dizer claramente sua finalidade e função no contexto do código.
Ruim:
Bom:
Funções ou métodos
Preocupe-se em limitar o número de parâmetros.
Portanto, evite funções com um grande número de parâmetros, que podem tornar o código difícil de entender e manter.
Ruim:
Bom:
Estrutura do código
O seu código precisa ter uma organização lógica.
Então, divida o código em módulos ou pacotes coesos e com baixo acoplamento, o que facilita a manutenção e reutilização do código.
Ruim:
Bom:
Testes
É essencial testar todos os caminhos possíveis. Isso quer dizer que o programador precisa certificar-se de que os testes cubram todos os cenários possíveis do código, incluindo casos de sucesso e de falha.
Code Smells
Por fim, esteja ciente de sinais de possíveis problemas no código, como duplicação, complexidade excessiva e classes/métodos muito grandes.
Conclusão
Escrever código limpo não é apenas uma questão de preferência pessoal, mas sim uma prática fundamental para o desenvolvimento de um bom software.
Seguir os princípios e regras do Clean Code não só torna o código mais fácil de entender e manter, mas também contribui para a criação de sistemas mais confiáveis.
Portanto, sempre que estiver escrevendo código, lembre-se: “Código limpo é sempre melhor do que código rápido.”
Comments (0)