用 AI 撰寫程式碼文件

AI-Assisted Coding for Developers

Francesca Donadoni

AI Curriculum Manager, DataCamp

以 AI 產生 docstring

81.png

AI-Assisted Coding for Developers

以 AI 產生 docstring

  • User prompt: 為這個函式撰寫 docstring
   def sales_trend(self):
       ...        
       if increasing > decreasing:
           return "Increasing trend"
       else:
           return "Decreasing or stable trend"
  • Model 的回應:
     def sales_trend(self):
         """Analyze sales data to determine the overall trend"""
         [...]
    
AI-Assisted Coding for Developers

以 AI 產生 docstring

  • User prompt: 為此函式產生一個包含以下內容的 docstring:

    • 對函式功能的簡單說明。
    • 每個參數及其型別的描述。
    • 回傳值及其型別的描述。
  • Model 的回應:

以下是可直接使用的完整 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-Assisted Coding for Developers

以 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-Assisted Coding for Developers

調整為不同文件風格

82.png

AI-Assisted Coding for Developers

調整為不同文件風格

83.png

AI-Assisted Coding for Developers

將程式碼整理成 README 摘要

84.png

AI-Assisted Coding for Developers

將程式碼整理成 README 摘要

  • User prompt: 以 Markdown 產生一個 README,說明 SalesAnalyzer 類別與其方法,並包含一段範例程式碼,協助使用者分析隨機期間的銷售趨勢。
  • Model 的回應:

以下是整理過的 SalesAnalyzer 類別 README.md 草稿:

SalesAnalyzer

SalesAnalyzer 類別提供簡單方法來分析每日銷售資料,判斷整體趨勢是上升,或下降/持平。此工具適合想快速掌握一段時間銷售表現概況的企業與個人。

AI-Assisted Coding for Developers

從程式差異產生 commit 訊息

85.png

AI-Assisted Coding for Developers

從程式差異產生 commit 訊息

  • User prompt: 請根據以下 git diff 撰寫有意義的 commit 訊息:
(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-Assisted Coding for Developers

自動化發行說明

86.png

AI-Assisted Coding for Developers

其他應用情境

87.png

AI-Assisted Coding for Developers

一起來練習吧!

AI-Assisted Coding for Developers

Preparing Video For Download...