Bom dia a todos.
Estou retomando a carreira de desenvolvedor Java depois de anos sem tocar em codigo. Estou tentando entrar no eixo e recuperar o tempo perdido.
Este foi o comentario de um colega na minha mais recente PR.
Há muitas mudanças neste PR e não há testes de unidade adicionais ou atualizações para os existentes. Isso me assusta considerando a lógica que está neste PR.
Os testes de unidade para isso serão quase impossíveis de escrever, devido à forma como o código está estruturado e usando novas chamadas de construtor em todos os lugares, não permitindo que você simule a lógica e tendo muita lógica em um pequeno número de arquivos de classe.
Basicamente a minha logica lê dados de varias tabelas, faz o backup destes dados em um arquivo CSV. Entao exporta este arquivo CSV para uma bucket na Amazon, e deleta os registros mais antigos que 365 dias destas tabelas. Eu estou tentando me empenhar para me ajustar mas dado o comentario do colega acredito que eu esteja longe de fazer da forma correta, portanto busco alguma sugestao de como estruturar melhor as classes e testes unitarios de forma a tornar isto mais legivel e em unidades menores facilitando o trabalho de todos. Qualquer comentario que esclareca o que tem de errado no padrao usado ou que forneca um guia de por onde eu deva comecar a estudar para melhorar meu codigo sera muito bem vindo.
Basicamente eu tentei testar cada parte do codigo. Criando um CSV para cada entidade, tambem deleto cada entidade em um metodo separado de teste unitario.
Anexei o diagrama de classes abaixo para comentarios e sugestoes. Muito obrigado.
.Apenas complementando o diagrama. Cada classe de entidade tem um gerador de script SQL que gera as instruções necessárias para deleçäo de acordo com o metadados das tabelas, e um Gerador de CSV com base neste metadados.
