Se você chegou até este artigo é porque provavelmente você quer melhorar seu código, ou está insatisfeito com ele – que dependendo do ponto pode ser a mesma coisa – certo?
Esse foi um dos motivos principais para eu estudar e escrever sobre.
Mas antes de te mostrar as dicas, uma pergunta surge:
Para que melhorar o meu código? Para que deixar ele mais limpo?
Essa não é uma resposta muito difícil.
Ao longo da sua carreira você terá oportunidade de criar projetos do total zero, mas também pegará muito – mas muito – código feito por outras pessoas; em alguns casos você vai gastar boas horas tentando entender o código de outra pessoa, escreverá coisas nesse código que outra pessoa também gastará muitas horas para entender e outra pessoa …
Deu para perceber que isso é um ciclo, certo?!
Melhorar a qualidade do seu código ajudará a próxima pessoa a gastar menos tempo entendendo ele e como consequência o time ganha mais produtividade e qualidade.
Entretanto, outro ponto de extrema importância para você começar a pensar em qualidade de código é que isso é o próximo nível da sua carreira. Um dos fatores que diferenciam um júnior de um pleno, com toda certeza, é a qualidade do código entre ambos.
Você como júnior tem como objetivo fazer funcionar, já como pleno, vão cobrar de você que funcione e que esteja limpo.
Quer se tornar um desenvolvedor melhor? Não faça apenas funcionar, traga qualidade para o seu código!
Clean Code, além de ser um tema extenso e vivo – sim, ele está em constante evolução, é o nome de uma das bíblias do assunto, o livro de 2008 escrito por Robert C. Martin é uma das maiores referências em se abordar o tema.
Então sem mais história, vamos às dicas!
As dicas foram exemplificadas em cima de JavaScript, porém podem ser totalmente usadas em qualquer linguagem orientada a objetos.
1 – Ninho é para passarinhos
Uma das “muletas” da programação é utilizar infinitos “ifs” para condicionar entrada e saída de dados ou para redirecionar comportamento de funções; e utilizando isso várias e várias vezes ao dia o “aninhamento” se torna um vício.
Isso é um erro? Lógico que não, seu código vai funcionar perfeitamente, mas lembre que você não quer continuar sendo jr para sempre. Então aqui vai a primeira dica para “limpar” isso do seu código.
Imagine que você tem uma função que exclui perfis quando você passa um id para ela. O fluxo natural é você fazer uma verificação prévia se o id passado existe e aí sim você executa a função.
O código irá funcionar perfeitamente nessas condições, mas vamos melhorar um pouco.
Ao invés de verificar a negação, porque você não cria uma condição verdadeira para o erro retornando uma saída vazia? E o restante da função executa a funcionalidade dela.
Os dois códigos irão “rodar” perfeitamente, porém é perceptível que o segundo é mais limpo.
2 – Não faça aos “outros” aquilo que você não quer que façam com você.
Você gosta de ser sobrecarregado ou sobrecarregada?! Então porque fazer isso com seu código?
Você acabou de entrar na empresa e desempenhará a função de engenheiro ou engenheira de software, porém você recebe a demanda de ligar para clientes, abrir a porta para os funcionários, verificar o crachá de todo mundo e outras coisas mais.
Você está tendo mais responsabilidades do que foi contratado ou contratada, e todos sabem o final dessa história.
Em algum momento, algum desses processos não irá funcionar de maneira correta, então porque fazer isso com seu código?
Imagine uma função que serve exclusivamente para verificar se um perfil está logado ou não em seu sistema, mas a pessoa quem criou aquele código acabou inserindo outras responsabilidades para a mesma função, como a captura da cor do perfil e enviar notificações.
O que aconteceria se algo estivesse errado nas outras duas responsabilidades? Uma verificação incorreta, um parâmetro errado, uma vírgula fora do lugar. Isso iria destruir a função que simplesmente precisaria verificar se a pessoa está loggada ou não.
Portanto, faça de tudo para atribuir poucas – ou apenas uma – responsabilidade para suas funções.
3 – Você entende o X?
Imagine o seu primeiro dia de trabalho na empresa, você está estudando o código, navegando entre as pastas e arquivos de projeto quando você percebe que existe uma função crucial para uma regra de negócio e a função é essa:
O que o X significa?
Onde usar o X?
Porque diabos um X?
Agora imagine o mesmo cenário acima e você se depara com essa função:
Você não precisa ler todo o corpo da função para saber que ela serve para capturar o nome do usuário.
Não perca seu tempo e de outros desenvolvedores criando nomes estranhos ou sem sentido para o seu código.
Dê nomes que façam ser entendíveis em menos de 5 segundos.
Apesar de não ser nenhuma regra, os desenvolvedores seguem algumas convenções que facilitam na hora de nomear o seu código.
- Use verbos para funções que executam ações
- Use o Is para checagens que retornam booleanos
- Use o plural para arrays
Você quer se destacar?
O mercado de tecnologia está vindo de um período de muito aquecimento e com isso novos desenvolvedores estão chegando para concorrer a uma vaga.
As empresas estão sendo bombardeadas por currículos todos os dias e não é nenhuma ingenuidade dizer que eles escolherão os melhores.
Como eu disse acima, ter um código limpo e pensar em qualidade de código são habilidades que trarão destaque para você e consequentemente facilitaram a decolagem da sua carreira.
Agora tudo depende de você!
Referencias:
http://principles-wiki.net/resources:clean_code
https://en.wikipedia.org/wiki/Robert_C._Martin
https://domtech.hashnode.dev/5-tips-for-writing-cleaner-code
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_objetos