YAGNI: O princípio que evita código desnecessário e arquiteturas complexas
Durante a evolução de um software, é comum cair na tentação de preparar o sistema para um futuro que talvez nunca aconteça. Criamos interfaces para apenas uma implementação, abstrações para um único caso de uso e arquiteturas capazes de suportar milhões de usuários em uma aplicação acessada por algumas dezenas de pessoas.