Código sujo
- #Arquitetura de Sistemas
Você pode estar se perguntando que esse título é bastante contraditório, porque muito se fala em clean code. Mas isso foi intencional para chamar a sua atenção em como você escreve códigos. Um código difícil de ler é difícil de manter, criar novas funcionalidades e de escalar. Abaixo será abordado alguns tópicos que podem ajudar você e na maioria das vezes são hábitos fáceis de entender que lá na frente economizará tempo. Então vamos lá.
TDD (Test Driven Development)
TDD é um método no qual você cria softwares inicialmente por testes. Isso é útil porque ajuda você a criar funções mais limpas e simples, evitando vícios e auxiliando a pensar como um método será criado posteriormente. Seguem algumas de suas etapas:
- Criamos testes que gere uma falha
- Elaboramos nosso método
- Fazemos nosso teste passar
- Refatoramos nosso código eliminando a redundância
Dessa forma, você terá uma ideia muito melhor da ação esperada da funcionalidade, garantindo que, no decorrer do seu projeto, tenha o mesmo resultado esperado caso seja necessário modificá-lo.
Crie funções simples
Essa é umas das coisas que fazem a diferença na qualidade do seu código. Métodos que realizam várias coisas é um sinal de que há algo a ser feito, onde é melhor parar e observar como podemos dividir essa função em funções mais simples. Tome cuidado que o inverso também pode ocorrer, uma vez que criar várias funções pode acarretar em um obstáculo maior, fazendo com que você se perca facilmente em um código muito segmentado. Então, se seu código se repete muito é melhor simplificá-lo.
Funções simples realizam uma única tarefa e possui poucos argumentos. Métodos com até dois argumentos facilitam na realização de testes, evitando que eles fiquem muito verbosos e os deixando melhor para executá-los. Funções únicas melhoram a legibilidade do seu código e as tornam fácil de manter e dar manutenibilidade. Claro que isso não é uma regra a ser seguida, mas com isso em mente, nos auxiliará na sua criação.
Crie nomes melhores
Muitas vezes na correria do dia a dia não damos muita importância para esse assunto. Nomes de variáveis e funções que revelam o seu propósito ajudará a você e o seu colega que lerá o seu código no futuro. Acredite, até mesmo você esquecerá o que aquela variável ou função faz. Isso te economizará tempo, já que você talvez não precisará debugar o seu código.
Nomes que revelam a sua intenção são melhores para um melhor entendimento e evitar ambiguidade do seu significado. Evitar contrações de palavras também é uma boa escolha, uma vez que isso pode confundir você mais tarde.
Imutabilidade
Usar essa técnica é muito vantajoso e possui alguns benefícios como a identificação de mudanças. Evitar que seu código seja mutável, como evitar a alteração de um objeto ou array diretamente, reduz a complexidade da criação de uma nova funcionalidade e tornar fácil de identificar comportamentos estranhos em seu código.
A melhor forma de fazer isso é criar uma cópia de propriedades de um objeto por exemplo, criar funções que retornam uma cópia de um valor também é uma ótima dica.
Conclusão
Tudo que foi mencionado acima entra em um conceito no qual deve ser um hábito de todo programador, a refatoração. Manter o seu código organizado e fácil de ler te auxiliará a construir um software mais robusto e dar manutenibilidade. Espero que tenham gostado e dicas são bem vindas!
Fontes:
https://www.devmedia.com.br/test-driven-development-tdd-simples-e-pratico/18533
https://medium.com/clarityai-engineering/clean-code-a-practical-approach-896546435235
Instrutores projeto estágio CWI Level 1