Os princípios YAGNI, KISS e DRY podem te ajudam a evitar a complexidade desnecessária na hora de decidir se devemos fazer ou não aquela implementação:
YAGNI: You Ain´t Gonna Need It.
Não é necessário e não é requerido, não adicione a funcionalidade só porque você acredita que isso vai ser necessário no futuro.
KISS: Keep it Simple, Stupid.
Toda complexidade desnecessária deve ser descartada, valorize a simplicidade.
DRY: Don´t repeat yourself.
Evite problemas por conta da duplicidade de responsabilidades e até mesmo desempenho da aplicação.
#cleancode #arquiteturadesoftware