Escreva métodos pequenos

Escreva métodos pequenos

Olá pessoal, tudo bem? Nesta semana gostaria de conversar com vocês sobre por que você deveria escrever métodos pequenos em sua aplicação. Essa é uma regra que deveria ser aplicada ao seu dia-a-dia e que colabora muito para a qualidade/manutenibilidade das aplicações.

Funções muito extensas frequentemente se tornam caixas pretas. Fazem muitas coisas pelas quais quase ninguém entende em sua totalidade, são difíceis de serem testadas e como produzem tantos efeitos colaterais, trazem consigo inúmeros bugs e também dificuldade de serem mantidas ou estendidas. Normalmente, trabalhar em códigos tão frágeis é muito mais difícil do que reescrever tudo do zero, o que infelizmente é uma realidade pela qual muitas pessoas já passaram.

Além de custar muito caro manter um sistema dessa forma, também desmotiva os programadores envolvidos no projeto. Frases como “esse código está uma bagunça”, “eu não entendo nada o que esse método faz”, “não mexa nessa função! Isso gerará muitos bugs”, se tornam frequentes e assim a produtividade do seu time vai por água abaixo. Mas como evitar tudo isso?

 

Vantagens de se escrever métodos pequenos

Vemos então que devemos manter nossos métodos/funções menores possíveis. Claro, aqui não existe regra escrita sobre quantas linhas cada método deve ter, porém em Ruby um bom benchmark seria algo entre 1 e 10 linhas.

Deixe seus métodos sempre descritivos! Se você tem dificuldade em descobrir o que um método faz, extraia ele em menores métodos pelos quais seja possível saber claramente a sua função e assim nomeie essa função com o seu papel. Uma boa pedida é usar verbos para métodos que fazem algo, ex: calcula_preco_mercadoria , métodos booleanos como interrogativas: cliente.possui_saldo? e métodos que modificam ele mesmo (o objeto) como exclamações ex: cliente.deletar_conta!

Objetos pequenos normalmente possuem um objetivo bem definido, assim favorecem para que nossa classe siga o Single Responsibility Principle. Dessa forma, colaboram com a legibilidade e manutenibilidade da aplicação. Ah, vale lembrar que quanto menor o método, mais fácil deste ser testado, então também colaboram para a cobertura de testes.

Por fim, métodos pequenos deixam o código auto-documentavel, ao lê-lo fica claro o que cada classe faz. Provavelmente você já teve dificuldades em nomear métodos/variáveis, e veja só! Quanto menor seu método, mais fácil de dar um nome a ele e a suas variáveis locais, já que seu propósito é bem claro.

Com tudo isso dito, perceba que escrever métodos pequenos deixa tanto sua aplicação saudável quanto os programadores que trabalham com ela 🙂 . Mas você pode estar se perguntando: O que fazer quando possuo métodos grandes?

Tente entender “as seções” deste método e extrair em métodos menores. Caso você tenha dificuldade em fazer isso, provavelmente você está preso por conta de variáveis locais. Nesse caso, a melhor estratégia é extrair essa classe em classes menores promovendo assim essas variáveis locais em variáveis de instância dessa classe.

Espero que tenha gostado desse post. Até semana que vem!

 

Algumas fontes utlizadas nesse post:

http://sam-koblenski.blogspot.com/2014/01/functions-should-be-short-and-sweet-but.html

https://dmitripavlutin.com/the-art-of-writing-small-and-plain-functions/

https://medium.com/@copyconstruct/small-functions-considered-harmful-91035d316c29

https://medium.com/oril/10-tips-to-keep-your-code-more-clean-2fa9aafea1cf

Sobre nós

Vivemos em uma era onde a tecnologia se faz presente em todo setor corporativo, independente do ramo de atividade. Surgimos visando esta crescente demanda.

Nossos contatos

+55 (11) 2528 7798
+55 (11) 98081 4290