Mais um post da série de qualidade de código em teste de software

Se você está chegando neste post agora e ainda não leu os conteúdos anteriores, recomendo começar por eles. Seguem os links:

Agora se você já leu os primeiros posts da série, vamos falar sobre a oitava guideline do Better Code Hub: Mantenha sua base de código pequena.

Segundo o BCH:

  • Manter sua base de código pequena melhora sua manutenibilidade, visto que dá menos trabalho realizar mudanças estruturais em bases de código pequenas.
  • Evite que a base de código cresça, ativamente reduzindo o tamanho do sistema.
  • Refatore o código existente para atingir a mesma funcionalidade com menos volume de código, e prefira bibliotecas e frameworks em vez de implementações customizadas quando se trata de funcionalidades padrão.

Manter sua base de código pequena melhora sua manutenibilidade

Na primeira guideline falei sobre pequenas unidades de código, e agora estamos falando sobre o código como um todo ser pequeno. A idéia é a mesma, pequenas bases de código são mais fáceis de entender, de relacionar componentes, de realizar mudanças, e portanto, de dar manutenção no código.

Mas as vezes, mesmo sistemas com unidades pequenas podem crescer demais. Neste caso, é sua responsabilidade controlar para que o sistema não cresça de forma descontrolada.

Ativamente reduza o tamanho do sistema evitando que a base de código cresça

Minhas refatorações favoritas são aquelas quando deleto mais código do que escrevo, e ainda assim tudo continua funcionando exatamente como antes, porém, com uma implementação mais bem pensada.

refatoração

Sempre há espaço para a refatoração, e técnicas como o uso de programação funcional, por exemplo, podem ajudar bastante em manter o sistema com um tamanho controlado.

Ainda assim, existem casos em que o sistema continua crescendo.

Refatore o código para atingir a mesma funcionalidade com menos volume de código, e prefira bibliotecas e frameworks já prontos

Uma maneira de diminiuir o tamanho, e portanto a complexidade do sistema, é utilizar frameworks ou bibliotecas já prontas, para funcionalidades padrão.

Porém, quando for escolher tais frameworks e bibliotecas, procure não “amarrar” seu sistema à elas, e também avalie sua cobertura de código, pois se você não controla tais micro-sistemas, precisa confiar que eles funcioanam como você espera.

Um exemplo de biblioteca voltada à testes automatizados, por exemplo, é o protractor-helper, o qual ajuda profissionais que trabalham com testes end-to-end a escrever testes robustos e confiávies, com o uso de waits e expeced conditions, sem a necessidade de implementar tais funcionalidades você mesmo.

E por falar nisso.


O próximo post da série será: Automatize testes. ✅

Até a próxima! 👋

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s