Guía Estilo Python PEP 8 - Codecr-ft/TurnoGen GitHub Wiki

Aquí mostramos varios ejemplos sobre cómo integrar PEP8 en la documentación del proyecto, tanto a nivel de código como a nivel de proyecto en general:

  1. Documentación del código con comentarios y docstrings:

    • Comentarios en el código:

      • Comentarios descriptivos en español o inglés que reflejen de forma clara y concisa la información correspondiente.
      # Esta función calcula la suma de dos números
      def add(a, b):
          return a + b
      
    • Docstrings en funciones y clases:

      • Utiliza nombres descriptivos en inglés que reflejen el contenido o el propósito de las clases y funciones.
      def add(a, b):
          """Calcula la suma de dos números.
      
          Args:
              a (int): El primer número.
              b (int): El segundo número.
      
          Returns:
              int: La suma de los dos números.
          """
          return a + b
      
    • Docstrings en clases:

      class Calculator:
          """Una calculadora simple."""
      
          def add(self, a, b):
              """Calcula la suma de dos números."""
              return a + b
      
          def subtract(self, a, b):
              """Calcula la resta de dos números."""
              return a - b
      
  2. Documentación del proyecto en general:

    • Archivo README.md:

      • Proporciona una descripción general del proyecto, incluyendo su propósito, cómo instalarlo, cómo usarlo y cómo contribuir al proyecto.
      • Ejemplo:
        # Proyecto X
        
        Este es un proyecto que hace X.
        
        ## Instalación
        
        Para instalar el proyecto, sigue estos pasos:
        
        ...
        
        ## Uso
        
        Aquí se explica cómo usar el proyecto:
        
        ...
        
        ## Contribución
        
        Si deseas contribuir al proyecto, sigue estos pasos:
        
        ...
        
    • Documentación de arquitectura y diseño:

      • Proporciona una descripción detallada de la arquitectura del proyecto, incluyendo diagramas, componentes principales y relaciones entre ellos.
      • Documenta las decisiones de diseño importantes y las razones detrás de ellas.
      • Ejemplo:
        ## Arquitectura
        
        El proyecto sigue una arquitectura MVC (Modelo-Vista-Controlador) con los siguientes componentes:
        
        - Modelo: ...
        - Vista: ...
        - Controlador: ...
        
        ## Decisiones de diseño
        
        - Decidimos utilizar el framework X porque...
        - Elegimos la base de datos Y debido a...
        
        ...
        
    • Documentación de requisitos y características:

      • Enumera y describe los requisitos y características principales del proyecto.
      • Incluye información sobre cómo estas características satisfacen las necesidades del usuario.
      • Ejemplo:
        ## Requisitos
        
        - El proyecto debe ser capaz de ...
        - Debe ser compatible con ...
        
        ## Características
        
        - Funcionalidad A: Permite al usuario hacer X.
        - Funcionalidad B: Proporciona la capacidad de ...
        
    • Nombrado de archivos:

      • Descripción: El nombrado de archivos es crucial para mantener la organización y la claridad en un proyecto de software. Sigue estas convenciones para asegurar que los nombres de archivos sean descriptivos, coherentes y fáciles de entender para todos los miembros del equipo.

      • Convenciones:

          1. Utiliza nombres descriptivos en inglés que reflejen el contenido o el propósito del archivo.
          2. Prefiere minúsculas y guiones bajos en lugar de espacios o caracteres especiales.
          3. Utiliza extensiones de archivo apropiadas para el tipo de archivo.
          4. Agrupa archivos relacionados en directorios coherentes y significativos.
        
      • Ejemplo:

      ## Requisitos
      
         `user_model.py`: Archivo que contiene la definición de la clase Usuario.
         `utilities.py`: Archivo que contiene funciones de utilidad.
         `contact_form.html`: Archivo HTML que representa un formulario de contacto.
         `database_diagram.png`: Archivo de imagen que muestra el diagrama de la base de datos del proyecto.
         `user_manual.pdf`: Documento PDF que proporciona instrucciones de uso para los usuarios.