Como escrever Código Limpo - Funções
Na primeira parte dessa série de artigos sobre Código Limpo, fiz uma introdução do conceito e os benefícios de sua utilização. Você pode ler esse post clicando aqui.
No segundo post falei sobre princípios encontrados no livro relacionados ao processo de nominar variáveis, métodos, classes e outros itens de uma base de código e como esses princípios podem beneficiar o entendimento do código como um todo. Você pode ler esse post clicando aqui.
Neste terceiro post, apresentarei um pouco o que o livro fala sobre funções.
Devem fazer apenas uma coisa
No exemplo abaixo, vemos uma função que busca registros na base de dados, verifica se esses registros estão ativos e por fim envia e-mails para os clientes representados por esses registros.
Através desse exemplo simples, é possível perceber como escrever funções que fazem mais de uma coisa pode dificultar suas manutenções visto que o entendimento do código se torna mais difícil. Além disso, a escrita de testes unitários se torna mais complexa pelo fato do método ter mais dependências que o necessário para o seu objetivo final. Abaixo uma melhor alternativa para o exemplo anterior:
Devem ter nomes descritivos
Como visto no post anterior sobre nomes significativos, a escolha de bons nomes é muito importante para o entendimento do código. No exemplo abaixo, temos uma classe chamada E-mail com um método chamado Lidar. O que seria lidar nesse contexto? Sem a visualização do código do método, é difícil saber se lidar está relacionado com um processo de configuração ou se faz o envio do e-mail.
Abaixo um exemplo melhor, onde a classe E-mail tem um método chamado Enviar. É muito mais intuitivo e é possível entender o que o método faz sem precisar ver seu conteúdo.
Devem ter poucos parâmetros
Um método com muitos parâmetros dificulta seu entendimento visto que muitas vezes não dizem muito sobre seu propósito.
Uma melhor ideia é, se possível, colocar os parâmetros em uma classe e utilizar os parâmetros dessa forma. Assim é possível entender o significado dos parâmetros.
Conclusão
E aí, o que achou do assunto?
Sugestões, críticas construtivas e comentários sobre este post são muito bem vindos. Até o próximo!
Esse post faz parte de uma série, no próximo apresentarei alguns princípios para um bom uso de comentários.
Referências
MARTIN, Robert C. Código Limpo. Alta Books, 2019.
Comments