Documentar código con IA

Programación asistida por IA para desarrolladores

Francesca Donadoni

AI Curriculum Manager, DataCamp

Generación de docstrings con IA

81.png

Programación asistida por IA para desarrolladores

Generación de docstrings con IA

  • Solicitud del usuario: Escribe un docstring para esta función
   def sales_trend(self):
       ...        
       if increasing > decreasing:
           return "Increasing trend"
       else:
           return "Decreasing or stable trend"
  • Respuesta del modelo:
     def sales_trend(self):
         """Analiza los datos de ventas para determinar la tendencia general"""
         [...]
    
Programación asistida por IA para desarrolladores

Generación de docstrings con IA

  • Solicitud del usuario: Genera un docstring para esta función que incluya:

    • Una explicación simple de lo que hace la función.
    • Una descripción de cada parámetro y su tipo.
    • Una descripción del valor de retorno y su tipo.
  • Respuesta del modelo:

Aquí tienes un docstring completo que puedes usar para tu función:

def sales_trend(self):
    """
    Analiza los datos de ventas para determinar si hay una tendencia creciente 
    o una tendencia decreciente/estable a lo largo del tiempo.
    [...]
    """
Programación asistida por IA para desarrolladores

Generación de docstrings con IA

Aquí tienes un docstring completo que puedes usar para tu función:

def sales_trend(self):
    """
    Analiza los datos de ventas para determinar si hay una tendencia creciente 
    o una tendencia decreciente/estable a lo largo del tiempo.

    Parámetros
    ----------
    self : objeto
        Un objeto que contiene un atributo `daily_sales` (lista de int o float),
        que representa los valores de ventas diarias en orden cronológico.
    [...]
    """
Programación asistida por IA para desarrolladores

Adaptarse a estilos de documentación

82.png

Programación asistida por IA para desarrolladores

Adaptarse a estilos de documentación

83.png

Programación asistida por IA para desarrolladores

Resumir código en READMEs

84.png

Programación asistida por IA para desarrolladores

Resumir código en READMEs

  • Solicitud del usuario: Genera un archivo README en Markdown que explique la clase SalesAnalyzer y sus métodos. Incluye un fragmento de código de ejemplo para ayudar a los usuarios a analizar la tendencia de ventas en un período aleatorio.
  • Respuesta del modelo:

Aquí tienes un borrador pulido de README.md para tu clase SalesAnalyzer:

SalesAnalyzer

La clase SalesAnalyzer ofrece una forma sencilla de analizar datos de ventas diarias y detectar si la tendencia de ventas está aumentando, disminuyendo o es estable. Esta herramienta puede ser útil para empresas o individuos que deseen una visión general rápida de su rendimiento de ventas a lo largo del tiempo.

Programación asistida por IA para desarrolladores

Mensajes de commit desde diferencias de código

85.png

Programación asistida por IA para desarrolladores

Mensajes de commit desde diferencias de código

  • Solicitud del usuario: Escribe un mensaje de commit significativo dado este diff de git:
(base) datacamp@test:~/datacamp/docstring-generation$ git diff
+
+        Raises:
+            ValueError: If daily_sales contains non-numeric values.
         """
-        return sum(self.daily_sales)
+        if not all(isinstance(sale, (int, float)) for sale in self.daily_sales):
+            raise ValueError("All sales figures must be numeric.")
+        return sum(sale for sale in self.daily_sales) 
Programación asistida por IA para desarrolladores

Automatizar notas de lanzamiento

86.png

Programación asistida por IA para desarrolladores

Otros casos de uso

87.png

Programación asistida por IA para desarrolladores

¡Vamos a practicar!

Programación asistida por IA para desarrolladores

Preparing Video For Download...