Conferir pelos arquivos de controllers quais funções estão sendo utilizadas e comparar com todas as pastas/arquivos de repositories para ver quais não estão sendo utilizadas, quais estão iguais e quais estão erradas para serem excluídas ou refatoradas.
Exemplos:
-
Funções getByGuide, getByCategory e getById estão iguais. Ver aqui
-
Funções getByTitle e getByDescription estão iguais e podem ser refatoradas em getByTitleXorDescription. Ver aqui
Julio Pereira:
Repositórios apresentam discrepância de código entre si na implementação de getById. Vários métodos são copiar/colar de outros e código não faz sentido, por exemplo, getByGuide e getByCategory de DigitalContentsRepository. Implementações dos diversos métodos delete estão incompletas em termos de negócio (relembrar observação geral no início do documento): ao remover um guia, se remove mais alguma coisa do banco? faz sentido remover uma categoria? o que acontece com alguma referência a uma categoria que foi removida? ao remover um conteúdo digital, não deveria ser removido todos os arquivos relativos armazenados no cloudinary? A meu ver temos operações incompletas dentro de código marcado como “pronto” e isso não deveria ter acontecido dentro da “main”.
Conferir pelos arquivos de controllers quais funções estão sendo utilizadas e comparar com todas as pastas/arquivos de repositories para ver quais não estão sendo utilizadas, quais estão iguais e quais estão erradas para serem excluídas ou refatoradas.
Exemplos:
Funções getByGuide, getByCategory e getById estão iguais. Ver aqui
Funções getByTitle e getByDescription estão iguais e podem ser refatoradas em getByTitleXorDescription. Ver aqui
Julio Pereira: