sb-uel / Leitura-de-Carteirinha

Aplicativo de gerenciamento de presenças dos alunos do Ramo IEEE UEL
MIT License
1 stars 1 forks source link

Melhorar código do projeto #48

Open LiloMarino opened 8 months ago

LiloMarino commented 8 months ago

Documentar funções, usar práticas de clean code, deixar mais agradável e de fácil manutenção, etc.

Fazer essa issue antes de fazer essas alterações #42

Talvez seja bom, embora seja extremamente trabalhoso migrar o projeto para o padrão de projeto MVC

LiloMarino commented 7 months ago

Guia Geral:

  1. PEP 8: O Guia de Estilo para o Código Python, conhecido como PEP 8, é uma excelente referência para garantir que seu código Python siga as convenções de estilo recomendadas. Isso inclui coisas como a formatação de código, a escolha de nomes de variáveis, o uso de espaços em branco e muito mais. Ferramentas como o flake8 podem ajudar a verificar automaticamente se seu código está em conformidade com o PEP 8.

  2. Type Hints: O Python 3.5 introduziu a capacidade de adicionar dicas de tipo às suas funções e métodos. Isso pode tornar seu código mais legível e ajudar os desenvolvedores a entender como usar suas funções corretamente. Além disso, ferramentas como o mypy podem verificar se seu código está em conformidade com as dicas de tipo que você forneceu.

  3. Docstrings: Usar docstrings claros e concisos em suas funções e classes pode ajudar outros desenvolvedores (e você mesmo no futuro) a entender como usar seu código. Além disso, as docstrings podem ser usadas para gerar documentação automaticamente usando ferramentas como o Sphinx.

  4. Testes Unitários: Escrever testes unitários para seu código pode ajudar a garantir que ele funcione conforme o esperado e que as alterações futuras não quebrem o código existente. Ferramentas como o unittest e o pytest são comumente usadas para escrever testes unitários em Python.

  5. Boas práticas de programação: Além das convenções de estilo e das práticas específicas do Python, existem muitas boas práticas de programação que se aplicam a qualquer linguagem de programação. Isso inclui coisas como dividir seu código em funções e classes pequenas e coesas, evitar a repetição de código e manter seu código DRY (Don't Repeat Yourself).

  6. Ferramentas de análise de código: Existem várias ferramentas que podem ajudar a analisar seu código Python em busca de problemas comuns, como erros de estilo, bugs potenciais e vulnerabilidades de segurança. Alguns exemplos incluem pylint, pyflakes e bandit.

  7. Comentários significativos: Comentários bem colocados podem ajudar a explicar o propósito de partes específicas do seu código, especialmente quando o código não é autoexplicativo. No entanto, evite comentários óbvios ou redundantes, pois eles podem poluir seu código e torná-lo mais difícil de ler.

  8. Refatoração: A refatoração é o processo de reestruturar seu código para torná-lo mais limpo, mais eficiente e mais fácil de entender. Isso pode incluir coisas como renomear variáveis, dividir funções grandes em funções menores e eliminar código duplicado.

  9. Convenções de nomenclatura: Usar nomes de variáveis, funções e classes significativos pode tornar seu código mais legível e autoexplicativo. Por exemplo, em vez de usar nomes de variáveis como x, y e z, use nomes mais descritivos, como largura, altura e profundidade.

  10. Convenções de importação: O Python tem convenções específicas para importar módulos e pacotes, que podem ajudar a tornar seu código mais organizado e legível. Por exemplo, você deve importar módulos de biblioteca padrão antes de módulos de terceiros e deve agrupar as importações em seções separadas.

  11. Uso de gerenciadores de contexto: O Python suporta o uso de gerenciadores de contexto para garantir que os recursos sejam liberados corretamente quando não forem mais necessários. Isso pode incluir coisas como o uso do operador with para abrir e fechar arquivos ou o uso do gerenciador de contexto @contextmanager para criar seus próprios gerenciadores de contexto personalizados.

  12. Uso de exceções: O Python tem um sistema de exceções robusto que pode ser usado para lidar com erros e exceções de forma elegante. No entanto, é importante usar exceções de forma apropriada e evitar o uso excessivo de exceções para controlar o fluxo do programa.

  13. Uso de ferramentas de automação: Existem várias ferramentas de automação disponíveis para Python que podem ajudar a tornar seu fluxo de trabalho mais eficiente. Isso inclui ferramentas como pipenv para gerenciar dependências, black para formatação de código automática e pre-commit para execução de tarefas antes de confirmar alterações no controle de versão.

  14. Uso de bibliotecas padrão: O Python tem uma biblioteca padrão rica que inclui muitas funcionalidades úteis. Antes de escrever seu próprio código para resolver um problema, verifique se não há uma biblioteca padrão que já faça o que você precisa.

  15. Uso de list comprehensions e generators: List comprehensions e generators são recursos poderosos do Python que podem ajudar a tornar seu código mais conciso e eficiente. Eles permitem criar listas e iteradores de forma mais compacta e legível do que usando loops tradicionais.

  16. Uso de decoradores: Decoradores são uma característica avançada do Python que permite adicionar funcionalidades a funções e métodos existentes. Eles são úteis para adicionar coisas como logging, caching e validação de argumentos a funções existentes sem modificar seu código.

  17. Uso de funções lambda: Funções lambda são funções anônimas de uma linha que podem ser usadas em lugares onde você normalmente usaria uma função definida pelo usuário. Elas são úteis para criar funções simples e de uso único sem a necessidade de definir uma função separada.

  18. Uso de iteradores e geradores: Python suporta a iteração sobre objetos usando iteradores e geradores. Isso pode tornar seu código mais eficiente e legível, especialmente quando você está lidando com grandes conjuntos de dados.

  19. Uso de expressões regulares: Python suporta expressões regulares, que são padrões de busca que podem ser usados para encontrar e manipular texto em strings. Expressões regulares podem ser uma ferramenta poderosa para processar dados de texto de forma eficiente.

  20. Uso de bibliotecas externas: Python tem uma grande comunidade de desenvolvedores que criam e mantêm bibliotecas externas que podem ser usadas para adicionar funcionalidades ao seu código. Antes de escrever seu próprio código para resolver um problema, verifique se não há uma biblioteca externa que já faça o que você precisa.