Documentando código com IA

Codificação com IA para Desenvolvedores

Francesca Donadoni

AI Curriculum Manager, DataCamp

Geração de docstring com IA

81.png

Codificação com IA para Desenvolvedores

Geração de docstring com IA

  • Prompt do usuário: Escreva uma docstring para esta função
   def sales_trend(self):
       ...        
       if increasing > decreasing:
           return "Increasing trend"
       else:
           return "Decreasing or stable trend"
  • Resposta do modelo:
     def sales_trend(self):
         """Analisa dados de vendas para determinar a tendência geral"""
         [...]
    
Codificação com IA para Desenvolvedores

Geração de docstring com IA

  • Prompt do usuário: Gere uma docstring para esta função que inclua:

    • Uma explicação simples do que a função faz.
    • Uma descrição de cada parâmetro e seu tipo.
    • Uma descrição do valor de retorno e seu tipo.
  • Resposta do modelo:

Aqui está uma docstring completa que você pode usar para sua função:

def sales_trend(self):
    """
    Analisa os dados de vendas para determinar se há uma tendência de aumento 
    ou uma tendência de diminuição/estabilidade ao longo do tempo.
    [...]
    """
Codificação com IA para Desenvolvedores

Geração de docstring com IA

Aqui está uma docstring completa que você pode usar para sua função:

def sales_trend(self):
    """
    Analisa os dados de vendas para determinar se há uma tendência de aumento 
    ou uma tendência de diminuição/estabilidade ao longo do tempo.

    Parâmetros
    ----------
    self : objeto
        Um objeto que contém um atributo `daily_sales` (lista de int ou float),
        que representa valores de vendas diárias em ordem cronológica.
    [...]
    """
Codificação com IA para Desenvolvedores

Adaptando-se a estilos de documentação

82.png

Codificação com IA para Desenvolvedores

Adaptando-se a estilos de documentação

83.png

Codificação com IA para Desenvolvedores

Resumindo código em READMEs

84.png

Codificação com IA para Desenvolvedores

Resumindo código em READMEs

  • Prompt do usuário: Gere um arquivo README em Markdown que explique a classe SalesAnalyzer e seus métodos. Inclua um exemplo de código para ajudar os usuários a analisar a tendência de vendas em um período aleatório.
  • Resposta do modelo:

Aqui está um rascunho de README.md para sua classe SalesAnalyzer:

SalesAnalyzer

A classe SalesAnalyzer oferece uma maneira simples de analisar dados de vendas diárias e detectar se a tendência de vendas está geralmente aumentando ou diminuindo/estável. Esta ferramenta pode ser útil para empresas ou indivíduos que desejam uma visão geral rápida do desempenho de vendas ao longo do tempo.

Codificação com IA para Desenvolvedores

Mensagens de commit a partir de diffs de código

85.png

Codificação com IA para Desenvolvedores

Mensagens de commit a partir de diffs de código

  • Prompt do usuário: Escreva uma mensagem de commit significativa dado este git diff:
(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) 
Codificação com IA para Desenvolvedores

Automatizando notas de lançamento

86.png

Codificação com IA para Desenvolvedores

Outros casos de uso

87.png

Codificação com IA para Desenvolvedores

Vamos praticar!

Codificação com IA para Desenvolvedores

Preparing Video For Download...