- https://github.com/raazeved/B3ADA/blob/main/POO2/t1153-poo-base-main/src/main/java/tech/ada/poo/base/CalculadoraOpcoes/MainCalculadoraOpcoes.java
- https://github.com/raazeved/B3ADA/blob/main/POO2/t1153-poo-base-main/src/main/java/tech/ada/poo/base/biblioteca/repository/BibliotecaRepositorioListImpl.java
Design de Classes de Domínio
→ Parcial, apenas uma e outra sem atributosSeparação em Camadas
→ OkTransição de Estados
→ Sim ao considerar TipoDaOpcaoPrincípios SOLID
→ Ok
- Geral
- MainCalculadoraOpcoes evite ter código comentado
- Como melhoria mover comandos println para a view
- Simplificar inicializacao do
Opcao Ops
- Evite nome de pacotes com primeiro caracter maiusculo. Tudo em java é camelCase
- Boa iniciativa no uso de bibliotecas e indicou as fontes sem remover
- Parabéns pelo readme e contextualização do projeto. Faltou considerar como fez, design de projeto
- View
- Boa iniciativa e diferencial implementação visual em swing
- Veja que o addActionListener você consegue simplificar ainda mais
- Controller
- CalcularOpcoes possui método ControlarEntradaDeDados muito extenso
- Não implemente método com primeiro caracter maiusculo. Faça camelCase java
- Refatorar metodos para validar em funções úteis específicas e reusáveis
- Veja que parte do comportamento poderia estar na view, sobre mostrar dados ou pedir
- Model
- Formatação do código quebrada, por exemplo, classe Opcao
- Evite ter construtores ou métodos com mais de 3 parâmetros.
- Você consegue melhorar esse design com encapsulamento e técnicas OO como agregação
- Evite ter classes de modelo com muitos atributos, conforme dica acima
- OpcaoPrecificacao não parece ser classe de domínio. Está mais para serviço e regras
- Repository
- No pacote repository tem classes de serviço havendo confusao de camadas
- Muitos métodos sem implementação, ou vazio ou retorna nulo
- Services
- A interface RegraCalculoOpcoes possui
- Evite atributos ou variaveis com primeiro caracter maiusculo
- Evite comentários de código. Ou tira ou implementa.
- Ou então coloque um // TODO falta implementar tal coisa, exemplo codigo ...
- Boa iniciativa no uso de generics nas interfaces
- Muitos métodos sem implementação, ou vazio ou retorna nulo
- Faltou caprichar no readme ou incluir mais informações sobre as suas mudanças
- Precisa praticar mais a questões das interfaces e reuso com SOLID
- Evite sempre que possivel deixar código comentado no projeto
- No main nao havia chamada aos metodos definidos para mudanças do item
- No repositorio impl errada dos metodos de mudança de estado.
- Não atualizou o item na lista. Mudou o mesmo item em memória
- Não foi solicitado implementar LivroBancoDeDados
- Precisa focar mais na entrega e menos em customizações extras
- No geral parabéns por ter participado e se envolvido na entrega