Matheus Castiglioni

Principio WET

Nos post’s anteriores falamos bastante sobre abstrações e quando criá-las, seguindo os princípios don’t repeat yourself e avoid hasty abstractions. Vale lembrar também que:

Duplicação de código é mais barata do que abstrações erradas.

Seguindo essas ideias vamos falar do próximo princípio chamado WET.

Princípio WET

O princípio WET (Write everything twice, Escreva tudo duas vezes) foca em basicamente escrever os mesmos trechos de códigos pelo menos duas vezes antes de começar a pensar em possíveis abstrações ou formas de reaproveitamento de códigos.

Mas porque escrever e duplicar duas vezes?

Porque de início não conhecamos todos os casos de usos, requisítos, necessidades ou até mesmo o design da arquitetura, estrutura ou códigos. Então se criarmos abstrações logo no começo do projeto pode não ser uma ideia muito escalável, se no futuro as abstrações não fizerem mais sentido ou necessitarem de atualizações vão gerar retrabalhos, custos, complexidades e altos pontos de impacto no projeto.

Quando você duplica códigos por certas vezes e um tempo, na terceira vez a ideia é que tudo esteja mais claro, sendo assim, esse é o ponto e momento ideal para criar abstrações e reaproveitamento de lógicos ou códigos.

Vale lembrar que esse princípio vai de contra ao DRY que foca em não repetir códigos por nenhuma razão.

Tudo é uma questão de equilibrio e custos, cada abordagem terá seus ganhos, perdas (sim, todas elas tem perdas) e os custos para mantê-las. Garanta que seu projeto, você ou sua empresa tenham as condições da pagá-los.

Conclusão

Nesse post vimos o princípio do desenvolvimento de software chamado WET, ele visa nos ajudar a pensar em quando devemos começar a pensar em abstrações e reaproveitamento de códigos.

Abraços, até a próxima.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

comments powered by Disqus