Refatoração: Continuar a modularização do código para melhorar manutenção e reuso
#2 opened on Mar 7, 2025
Repository metrics
- Stars
- (0 stars)
- PR merge metrics
- (PR metrics pending)
Description
Descrição do problema
Atualmente, o código apresenta funções extensas e repetição de lógica em diversas partes. Algumas funções realizam múltiplas tarefas ao mesmo tempo, tornando a manutenção e depuração mais difíceis. A modularização pode ajudar a melhorar a legibilidade, reutilização de código e facilitar futuras implementações.
Objetivo da refatoração
- Separar responsabilidades em funções menores e mais específicas.
- Reduzir a duplicação de código, especialmente em verificações e entrada de dados.
- Criar módulos auxiliares para operações comuns, como manipulação de arquivos, validação de entradas.
Sugestões de modularização
1. Criar um módulo de entrada e validação de dados
Atualmente, a verificação de formatos de CPF, número de voo e reserva, além da entrada de dados do usuário, é feita diretamente nas funções principais. Um módulo específico para isso pode reduzir a repetição de código.
2. Criar um módulo para manipulação de arquivos
A leitura e escrita em arquivos binários são repetitivas e poderiam ser abstraídas em funções utilitárias.
3. Modularizar a lógica de cadastro e consulta de voos e reservas
Atualmente, cadastrar_voo() e cadastrar_reserva() possuem muitas responsabilidades. Separar entrada de dados, validação e armazenamento em funções menores melhora a organização.
Tarefas
- Criar módulo validação de inputs para lidar com entrada e validação de dados.
- Criar módulo manipulação de arquivos para abrir arquivos de forma segura e centralizada.
- Refatorar cadastrar_voo(), cadastrar_reserva() e outras funções para reduzir responsabilidades.
- Testar a refatoração garantindo que a funcionalidade permanece funcionando.
Impacto esperado
- Maior organização do código.
- Melhor reutilização de funções.
- Facilita futuras manutenções e testes.