使用 AI 编写代码文档

面向开发者的 AI 辅助编码

Francesca Donadoni

AI Curriculum Manager, DataCamp

AI 驱动的 docstring 生成

81.png

面向开发者的 AI 辅助编码

AI 驱动的 docstring 生成

  • 用户提示: 为此函数撰写 docstring
   def sales_trend(self):
       ...        
       if increasing > decreasing:
           return "Increasing trend"
       else:
           return "Decreasing or stable trend"
  • 模型回复:
     def sales_trend(self):
         """Analyze sales data to determine the overall trend"""
         [...]
    
面向开发者的 AI 辅助编码

AI 驱动的 docstring 生成

  • 用户提示: 为此函数生成包含以下内容的 docstring:

    • 对函数作用的简单说明。
    • 每个参数及其类型的说明。
    • 返回值及其类型的说明。
  • 模型回复:

以下是可直接使用的完整 docstring:

def sales_trend(self):
    """
    Analyze the sales data to determine whether there is an increasing trend 
    or a decreasing/stable trend over time.
    [...]
    """
面向开发者的 AI 辅助编码

AI 驱动的 docstring 生成

以下是可直接使用的完整 docstring:

def sales_trend(self):
    """
    Analyze the sales data to determine whether there is an increasing trend 
    or a decreasing/stable trend over time.

    Parameters
    ----------
    self : object
        An object that contains an attribute `daily_sales` (list of int or float),
        which represents daily sales values in chronological order.
    [...]
    """
面向开发者的 AI 辅助编码

适配文档风格

82.png

面向开发者的 AI 辅助编码

适配文档风格

83.png

面向开发者的 AI 辅助编码

将代码概述为 README

84.png

面向开发者的 AI 辅助编码

将代码概述为 README

  • 用户提示: 用 Markdown 生成一个 README,解释 SalesAnalyzer 类及其方法。包含示例代码片段,帮助用户在随机区间分析销售趋势。
  • 模型回复:

这是为您的 SalesAnalyzer 类润色过的 README.md 草稿:

SalesAnalyzer

SalesAnalyzer 类提供一种简单方式来分析每日销售数据,并判断销售趋势总体是上升还是下降/稳定。该工具可帮助企业或个人快速获得销售表现的宏观概览。

面向开发者的 AI 辅助编码

从代码差异生成提交信息

85.png

面向开发者的 AI 辅助编码

从代码差异生成提交信息

  • 用户提示: 根据以下 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) 
面向开发者的 AI 辅助编码

自动化发布说明

86.png

面向开发者的 AI 辅助编码

其他用例

87.png

面向开发者的 AI 辅助编码

让我们练习!

面向开发者的 AI 辅助编码

Preparing Video For Download...