fbpx
Clean Code: veja como funciona e como implementá-lo

Clean Code: veja como funciona e como implementá-lo

Clean Code, ou código limpo, na tradução direta, é um termo que se refere a filosofia de desenvolvimento que foca na produção de códigos simples e objetivos. Quando falamos em simplicidade e objetividade, queremos dizer que o código precisa ser criado de maneira que consigam ser entendidos e mantidos de maneira facilitada, segundo as boas práticas.

O foco é o ganho de produtividade e agilidade na melhoria e reutilização dos códigos, afinal, um dos gargalos do desenvolvimento de software está exatamente na manutenção das aplicações. A popularização das técnicas clean code tem bastante influência do livro de 2008, Clean Code: A Handbook of Agile Software Craftsmanship, escrito pelo engenheiro de software Robert Cecil Martin.

Neste post, vamos entender a importância da adoção do Clean Code e como implementá-lo. Confira!

Porque o Clean Code está se popularizando?

O primeiro motivo que tem levado os projetos de desenvolvimento para o modelo clean code é a redução de custos que essa escrita simples traz. Isso porque há uma diminuição clara na quantidade de manutenção, pois o código é projetado desde o início para receber as atualizações.

Durante muito tempo, os desenvolvedores criaram códigos pensando apenas no momento em que estavam trabalhando, como se somente eles fossem ter contato com o programa, e acabavam abrindo mão das boas práticas, o que gerava um código difícil de lidar quando outros programadores assumiam a responsabilidade de fazer a manutenção.

Apesar de haver alguma resistência de alguns desenvolvedores quando há uma mudança de paradigma na forma como eles estão acostumados a trabalhar, utilizar o conceito Clean Code não é nenhum bicho de sete cabeças. Na verdade, estamos falando de um processo prático e fácil. Basicamente, o desenvolvedor deverá ficar em processos como:

  • mudar o nome de uma variável para melhorar o entendimento;
  • evitar funções muito grandes que fazem várias coisas por funções menores que executem uma tarefa cada;
  • eliminar duplicações e código;
  • entre outras coisas.

Esses são alguns exemplos que exigem uma mudança de visão do desenvolvedor em relação ao trabalho que está executando. Para garantir que o código realmente esteja dentro dos parâmetros do Clean Code, é necessário seguir uma série de padrões e orientações que veremos mais à frente neste post.

Entenda como o Clean Code contribui para o ganho de produtividade

Outro motivo que tem levado muitas empresas a investirem na adoção do código limpo é o ganho de produtividade, afinal, quando não há uma preocupação com a simplicidade e limpeza, fazer a manutenção de um código costuma dar mais trabalho do que desenvolver um do zero.

De acordo com Robert, autor do livro, os desenvolvedores tendem a gastar mais tempo lendo um código feito por outro profissional e tentando entendê-lo do que teria desenvolvendo um próprio do zero.

A proporção de leitura para escrita, de acordo com o livro é de 10:1. Esse é um tremendo gargalo produtivo que faz a equipe perder tempo e capacidade de responder com agilidade às demandas.

Como implementar o método Clean Code?

Para implementar o Clean Code de forma correta em seus projetos de desenvolvimento, é importante seguir algumas regras, implementando as boas práticas e programação. Veja abaixo quais são.

Comece pela nomenclatura

O primeiro passo para implementar o método Clean Code em seus códigos é se preocupando em escolher as nomenclaturas mais simples e intuitivas possíveis. Você terá que exercer esse procedimento em vários momentos em seu código, atribuindo nomes às funções, variáveis, parâmetros, classes e até na escolha da nomenclatura dos arquivos.

Os nomes precisam ter correlação com a finalidade do código que ele está relacionado, como por exemplo, uma função criada para exibir uma mensagem na tela, pode se chamar exibirMensagem().

É uma nomenclatura autoexplicativa, permitindo que qualquer pessoa que acesse o código consiga identificá-la e entendê-la. Você deve utilizar os mesmos princípios nos outros itens citados acima. Um padrão convencionado é de que as variáveis devem ter como nomenclatura os substantivos e as funções devem ser nomeadas com verbos.

Mantenha uma padronização

Há várias maneiras de criar as nomenclaturas, mas, além de escolher nomes que facilitem o entendimento, mantenha um padrão no formato durante todo o código. Por exemplo, em alguns projetos os desenvolvedores podem preferir criar variáveis com letras minúsculas e, em nomes compostos, iniciar a segunda palavra com letra maiúscula.

Por exemplo, há programadores que utilizariam a variável “notaAluno” para receber o valor da nota de um aluno. Outros desenvolvedores preferirão criar variáveis 100% em minúsculo, como em “nomealuno”.

O ideal é manter o modelo indicado quando o desenvolvedor for fazer a manutenção, ou utilizar um padrão ao desenvolver um código do zero. A mesma regra vale para as funções, classes, arquivos entre outros. A padronização agiliza a identificação, que contribui para o ganho de produtividade durante os processos.

Separe os dados de configuração do código fonte

Se você quer manter o código limpo, facilitando a leitura e manutenção, não misture os códigos de configuração ao código fonte — crie arquivos separados. Quando falamos de dados de configuração, estamos nos referindo, por exemplo, a conexão de string com o banco de dados.

Uma boa solução para esse tipo de problema é fazer o armazenamento desse modelo de conteúdo no formato JSON, colocando-o na pasta raiz. Dessa maneira, quando for necessário apenas fazer a manutenção do código de dados, não haverá a necessidade de fazer modificações no código da aplicação.

Evite a duplicidade de códigos

É comum entre desenvolvedores iniciantes a duplicidade de código, mesmo que não haja a intenção, isso acontece porque, em um código extenso é normal a repetição de funcionalidades.

O foco deve ser o desenvolvimento de códigos o mais curto possível e que tenham uma única funcionalidade. Quando a função retorna um único resultado, ele evita que haja repetições e confusões.

Quase todo desenvolvedor, ao fazer a manutenção de um código, se deparou com uma infinidade de estruturas de repetições e condições aninhadas. Os “IFs” seguidos, por exemplo, além de facilmente caírem na duplicação, aumentam a complexidade do código.

A duplicidade de código consiste em trechos diferentes que desempenhem a mesma função e que poderiam ser reutilizados com uma única digitação. Uma das alternativas e esses problemas veio com a programação orientada a objetos, com o princípio do encapsulamento. O foco é deixar o código mais simples, limpo e funcional, permitindo a reutilização de um trecho em vários pontos do código fonte.

Comente somente o necessário

Embora seja interessante que haja comentários pontuais nos códigos, o excesso de comentários podem acabar mais prejudicando do que ajudando. Um erro comum é o desenvolvedor fazer comentários para indicar uma ação para outro programador, como alterações necessárias ou indicação de falhas.

Nesse cenário, há o risco de que o código seja alterado e o comentário não seja apagado, fazendo, em muitos casos, com que o trecho de código fique com um comentário que não corresponda mais ao que ele executa como função. Utilize os comentários com moderação e não esqueça de modificá-los sempre que alterar o código.

Faça o tratamento de erros

Uma das reclamações mais comuns direcionadas aos códigos mal escritos é em relação à não atenção aos erros da aplicação. Isso porque, todo sistema está sujeito a falhas e que podem causar a interrupção do sistema. Essa falta de atenção pode fazer com que o usuário receba um feedback não adequado, o que prejudica a usabilidade da aplicação.

O tratamento de erros é importante para manter a funcionalidade do software, mas também para garantir que o usuário receba a mensagem correta quando se deparar com o problema.

Realize testes limpos

A técnica Clean Code também se faz presente quando o assunto é os testes no código fonte. Nesse cenário, o ideal é que os códigos sejam testados em pequenos blocos, nunca de forma integral.

Quando há a realização de testes com poucos códigos, trecho por trecho, não há o risco de uma parte que já foi testada apresentar um erro vinculado a novos trechos que forem testados depois.

Outro ponto importante a ser destacado, é a necessidade de um ambiente de testes, para que seja feita a validação do código sempre que necessário. Nesse cenário, o ideal é que haja o retorno de verdadeiro ou falso, se tornando mais fácil a identificação dos códigos que de fato estão com problemas.

Os testes precisam seguir algumas regras, entre as quais se destacam:

  • os testes devem ser rápidos, com a viabilidade de serem realizados sempre que necessário;
  • devem ser independentes, pois, quando fazemos o texto dividindo o código em partes, evitamos o efeito cascata quando acontecer uma falha;
  • o teste deve ser repetível em diversos ambientes diferentes por várias vezes;
  • é importante que os testes retorne “True” ou “False” para que não haja subjetividade;
  • Os testes devem ser escritos antes do próprio código, evitando que ele se torne complexo demais para ser testado e seguindo a risca os critérios de pontualidade.

Esperamos que, após a leitura deste post, você tenha entendido o conceito de Clean Code e possa dar os seus primeiros passos rumo a adoção de um código mais limpo, com facilidade para ler e para que seja feita a sua manutenção. É sempre importante ter como base a simplicidade e utilidade, sem esquecer do principal, que é a qualidade da aplicação. De nada adianta um código simples e objetivo, se ele não entrega o que o usuário final precisa.

Gostou do post? Você já aplicou o Clean Code em seus projetos? Diga para a gente nos comentários.

Contato

Deixe um comentário