marcusmartinss/Trabalho-de-APC

Refatoração: Continuar a modularização do código para melhorar manutenção e reuso

オープン

#2 opened on 2025/03/07

 (0 件のコメント) (0 件のリアクション) (1 人の担当者)C (0 件のフォーク)auto 404
enhancementgood first issue

Repository metrics

Stars
 (0 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド