Skip to content

Instantly share code, notes, and snippets.

@rafarocha
Last active September 16, 2024 06:42
Show Gist options
  • Save rafarocha/97e541ba27a83bb3f6aa2c8e59aa57c2 to your computer and use it in GitHub Desktop.
Save rafarocha/97e541ba27a83bb3f6aa2c8e59aa57c2 to your computer and use it in GitHub Desktop.

Avaliação dos Requisitos

  • Design de Classes de Domínio → Parcial, apenas uma e outra sem atributos
  • Separação em Camadas → Ok
  • Transição de Estados → Sim ao considerar TipoDaOpcao
  • Princípios SOLID → Ok

Avaliação do Projeto

  • 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

Avaliação Desafio 01

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment