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.