在軟體開發團隊中,最常聽到的工程師心聲往往是:「我不喜歡寫文件,但我討厭看別人沒寫文件的代碼。」
在接手既有專案(Legacy System)或多人協作時,常常遇到只有方法名稱、內部邏輯複雜,卻沒有任何一行註解的陳年代碼。如果事後要逐一補齊標準的 JavaDoc、參數規格說明與例外拋出定義,往往需要消耗大半天的工時。
今天我們就來示範:如何讓 ChatGPT / Copilot 扮演技術文件工程師,只需貼上既有類別與函式,就能自動萃取核心語意,生成完全符合業界標準的 JavaDoc 註解與 API 技術規格!
想要讓 AI 產出高水準的技術文件,不要只丟一句「幫我加註解」,而是要指定標準規範與重點標籤:
【JavaDoc 生成提示詞範本】
請扮演資深 Java 技術文件架構師。以下是一段尚未編寫文件說明的商業邏輯代碼:
[貼上既有的 Java 類別或方法]
請為這段代碼補齊符合 Oracle JavaDoc 規範的完整註解,要求如下:
@param(包含合法取值範圍)、@return(包含空值或特殊值含義)、@throws(列出何種情境會拋出該例外)。{@code ...} 區塊提供 1 個標準調用範例。假設我們在專案中找到一個處理個資遮罩(Data Masking)的工具方法,原本完全沒有任何註解:
[補齊註解前:無說明的裸代碼]
public class MaskingUtils {
public static String maskMobile(String mobile) {
if (mobile == null || mobile.length() != 10) {
return mobile;
}
return mobile.substring(0, 4) + "***" + mobile.substring(7);
}
}
套用模板後,AI 自動產出了具備完整標籤與邊界說明的 JavaDoc:
[JavaDoc 完整補全代碼]
/**
* 個資脫敏與遮罩處理工具類別
* <p>提供常見機敏資訊(如手機門號、身分證號、信用卡號)的顯示遮罩功能。</p>
*
* <p><strong>執行緒安全特性:</strong>該類別為無狀態工具類,所有方法均為執行緒安全(Thread-safe)。</p>
*
* @author Engineering Team
* @since 1.0.0
*/
public final class MaskingUtils {
private MaskingUtils() {
// 防止工具類別被實例化
}
/**
* 針對台灣 10 碼手機號碼進行中段遮罩處理。
* <p>將手機號碼第 5 至第 7 碼以星號「***」取代,保留前 4 碼與後 3 碼。</p>
*
* <p><b>使用範例:</b></p>
* <pre>{@code
* String masked = MaskingUtils.maskMobile("0912345678");
* // 結果為: "0912***678"
* }</pre>
*
* @param mobile 原始手機號碼字串,需為 10 碼數字格式(例如 "0912345678")
* @return 遮罩後的手機字串;若傳入為 {@code null} 或長度不符 10 碼,則直接原樣回傳避免中斷流程
* @see String#substring(int, int)
*/
public static String maskMobile(String mobile) {
if (mobile == null || mobile.length() != 10) {
return mobile;
}
return mobile.substring(0, 4) + "***" + mobile.substring(7);
}
}
除了直接嵌入代碼的 JavaDoc,當跨部門(如前端或 QA 團隊)需要接口說明時,我們還可以要求 AI 直接將寫好的 JavaDoc 轉換為 Markdown 文件:
【Markdown 轉譯提示詞】
「請將上方的方法與 JavaDoc 轉換為前端工程師容易閱讀的 Markdown 介面規格表格,包含參數、型別、預設行為與回傳值。」
【AI 轉換產出的 Markdown 表格】
| 方法名稱 | 參數說明 | 傳入型別 | 回傳型別 | 異常防呆行為 |
|---|---|---|---|---|
maskMobile |
mobile: 台灣手機門號(10碼) |
String |
String |
若為 null 或非 10 碼直接回傳原字串,不拋出例外 |
/doc,AI 也會立刻在上方就地插入標準 Javadoc 註解骨架。@param、@return)交給 AI,工程師只需專注於確認商業邊界是否被準確描述,大幅釋放工程生產力。今天我們掌握了利用 AI 自動為陳年代碼補全專業 JavaDoc 規格的方法,包含邊界宣告、執行緒安全性說明與使用範例展示,甚至能輕鬆產出團隊協作所需的 Markdown 文件。