Este projeto consiste na refatoração de um sistema legado de aplicação de provas, com foco em melhorar a organização do código, a legibilidade e a manutenção, sem remover as funcionalidades originais.
O objetivo da refatoração foi reorganizar o sistema para que cada classe tivesse uma responsabilidade mais clara, reduzindo a concentração de lógica em um único arquivo e facilitando a compreensão do projeto.
O sistema continua permitindo:
- cadastro de participantes
- cadastro de provas
- cadastro de questões
- aplicação de provas
- registro das respostas
- cálculo de nota
- listagem de resultados
- impressão do tabuleiro com base em FEN
Classe responsável por iniciar o sistema.
Responsável pela interação com o usuário no terminal, exibindo opções do menu e recebendo dados digitados.
Classe principal da lógica do sistema. Controla o cadastro de participantes, provas e questões, a aplicação da prova e a listagem dos resultados.
Representa os dados de um participante.
Representa os dados de uma prova.
Representa uma questão da prova, contendo enunciado, alternativas, resposta correta e posição inicial do tabuleiro em FEN.
Representa a resposta marcada pelo participante em uma questão.
Representa uma tentativa de realização de uma prova, armazenando as respostas do participante.
Classe utilitária responsável por imprimir no console o tabuleiro de xadrez a partir de uma string FEN.
- A classe principal foi simplificada
- A interação com o usuário foi separada em uma classe própria
- A lógica principal do sistema foi organizada em uma classe central
- As entidades foram mantidas apenas como estruturas de dados
- A impressão do tabuleiro foi isolada em uma classe utilitária