YAGNI de forma rápida

Opa, fala galerinha, tudo bem com vocês?? ✌
Este será mais um post de forma rápida abordando os conteúdos de boas práticas no desenvolvimento.
O primeiro post foi sobre o KISS
e para continuar a nossa saga iremos abordar outra filosofia muito importante que é o YAGNI
. 👻
📑 YAGNI (You aren’t gonna need it)
Se você leu o post anterior, você viu o quanto é importante manter a simplicidade no que fazemos. E aqui esse conceito também se aplica, porém a ideia é que devemos implementar no nosso código apenas o que foi solicitado. 🧐
(O foguete mais rápido de todos com uma cela desnecessária.)
Nessa imagem podemos ver o conceito se aplicando, onde é acrescentado muita coisa em uma feature
e acabamos não entregando um produto por completo para o nosso cliente.
Não devemos adicionar mais funções pensando que no futuro isso poderá ser usado. Afinal, isso só deixará nosso código mais complexo e tem muita chance dessa função ‘extra’ que você criou nem ser utilizada. ⏳
Assim você acaba economizando seu tempo, por não precisar criar coisas que não precisa no momento e você acaba não poluindo o projeto com códigos que possivelmente não serão utilizados.
📖 Conclusão
Se refletirmos sobre esse conceito, realmente faz sentido, não temos como saber o que será utilizado no futuro (mesmo que nossa intuição diga ao contrário hahaha 😜), aplicando o conceito do YAGNI
nosso código será menor, o que ajuda no momento de manutenção ou inclusão de funcionalidades.
Uma dica seria você tentar resistir, e não fazer mais do que precisa ser feito, senão você foge do seu objetivo inicial e, as vezes, acaba fazendo muita coisa que, no final, não era o que precisava. E após o término do código, é muito bom dar aquela revisada para ver se não deixou funções que possam ser refatoradas ou que não sejam necessárias.
🔗 Referências
- https://martinfowler.com/bliki/Yagni.html
- http://www.macoratti.net/15/12/net_yagni1.htm
- https://betterprogramming.pub/yagni-you-aint-gonna-need-it-f9a178cd8e1
“O exagero é o caminho mais rápido para transformar algo bom em algo ruim.” 🧙♂️
comments powered by DisqusAnderson Espindola.