Link do vídeo: • Como Modularizando o Seu Primeiro Projeto ...
Como Modularizando o Seu Primeiro Projeto e Python
Estrutura Modular - SG Task
Nesta aula vamos explicar como organizar nosso código em partes bem definidas, chamadas módulos. Essa divisão torna o código mais claro, fácil de entender e mais simples de corrigir ou atualizar no futuro. Vamos explorar como estruturar o sistema de forma prática e eficiente!
Estrutura do Diretório
Vamos dividir o sistema em diferentes módulos de acordo com suas responsabilidades. A estrutura do diretório será a seguinte:
sg_task/
│
├── tarefa.py # Lógica de manipulação das tarefas
├── arquivo.py # Funções relacionadas ao arquivo CSV
├── utils.py # Funções utilitárias, como validação de entradas
├── menu.py # Menu de interação com o usuário
└── main.py # Arquivo principal para execução do programa
Módulos e Responsabilidades
1. tarefa.py
Este módulo contém as funções relacionadas à criação e manipulação das tarefas. Ele é responsável por:
Criar tarefas com campos como descrição, prazo e status (concluído ou pendente).
Formatar as tarefas para salvamento no arquivo CSV.
Responsabilidade principal: Manipulação das estruturas de dados de tarefas.
---
2. arquivo.py
Este módulo cuida das operações relacionadas ao arquivo CSV, incluindo:
Leitura do arquivo CSV para carregar as tarefas existentes.
Escrita de novas tarefas ou atualizações no arquivo.
Responsabilidade principal: Gerenciamento de persistência de dados.
---
3. utils.py
Um módulo utilitário para funções auxiliares, como:
Validação e leitura de entradas do usuário, como datas.
Outras validações que possam ser necessárias no futuro.
Responsabilidade principal: Facilitar reutilização de funções comuns.
---
4. menu.py
Este módulo gerencia a interação com o usuário, apresentando um menu e chamando as funções adequadas com base na escolha do usuário.
Responsabilidade principal: Interface de linha de comando.
---
5. __main__.py
O arquivo principal que executa o programa chamando o menu principal.
Responsabilidade principal: Ponto de entrada do sistema.
Vantagens da Modularização
1. Clareza: A separação em módulos torna o código mais legível.
2. Reusabilidade: Módulos podem ser reutilizados em outros projetos ou contextos.
3. Manutenibilidade: Facilita a identificação de bugs e a implementação de novas funcionalidades.
4. Escalabilidade: A estrutura modular permite adicionar novos recursos sem grandes refatorações.
---
Essa estrutura promove boas práticas de desenvolvimento e garante que o código seja organizado, escalável e fácil de manter.
-----
-----
Acompanhe o Desenrola Dev nas redes sociais:
Site: https://desenroladev.com.br/
Facebook: / desenroladev
Instagram: / desenroladev
Blog: https://desenroladev.com.br/blog