YAGNI - You Ain’t Gonna Need It


O princípio YAGNI (You Ain’t Gonna Need It) pode ajudar os programadores a evitar a armadilha de over-engineering.

Um exemplo prático: um desenvolvedor recebe a simples tarefa de implementar pagamento com cartão de crédito, mas acaba criando um sistema complexo e genérico para suportar múltiplos métodos de pagamento que nunca serão usados.

O resultado? Um código difícil de manter e que não atende uma necessidade real.

A ideia central do YAGNI, criada por Kent Beck e Ron Jeffries, é evitar escrever código para problemas que ainda não existem.

Note

O YAGNI faz parte das práticas de desenvolvimento ágil e do Extreme Programming (XP)

Isso reduz complexidade, melhora a manutenção e foca no que realmente é necessário.

Além do YAGNI, há outros dois princípios que o complementam:

  • KISS - Keep It Simple, Stupid – Incentiva soluções simples para tornar o código mais compreensível e fácil de manter.

  • SINE - Simple Is Not Easy – Mostra que criar algo simples pode ser mais difícil do que fazer algo complexo, exigindo mais reflexão e refinamento.

Vale ressaltar que o YAGNI não significa ignorar boas práticas ou evitar design patterns, mas reforça que decisões devem ser guiadas por necessidades concretas, e não por suposições sobre o futuro.

Referências


https://youtu.be/wjtfJ9c4KdM?si=9RL4qTgo41xWYi5N