achei a abordagem errada. o que aconteceu com o "aberto pra extensão e fechado pra modificações"?. se o cliente pede uma função que faça algo, eu simplesmente escrevo um nova funcionalidade, a função anterior findUser continua sendo útil e atendendo algum caso de uso específico. Encontrar usuarios com mais de x idade é outro caso de uso. Encontrar usuários premiums é outro caso de uso. Sem falar da falta do Single Responsability Principle, tu tem uma função que faz varias coisas apenas alterando os parâmetros. O exemplo é louvável, mas e se eu tiver 10 filtros? 20 filtros?
Em resposta a [Não disponível]
2