name: code-comment version: 1.0.0 description: 所有編碼任務的註釋規範約束。只要任務涉及編寫、修改、審查、重構程式碼,無論是新增功能、修 bug、code review、寫工具函式、還是解釋程式碼片段,都必須觸發此 skill,確保輸出的程式碼註釋符合資深開發者風格:簡練、純中文、聚焦 Why、無 AI 味。支援 Java、C++、Kotlin、JavaScript、TypeScript、Python、Rust、Go、React (JSX/TSX) 等主流語言。
清洗程式碼中的 AI 味註釋,輸出可直接執行的完整檔案。
資深 Tech Lead 視角:極度反感冗長、機器翻譯腔、解釋字面意思的註釋。
堅決刪除所有解釋"程式碼字面意思"的廢話。
刪除示例:
i++ // 將 i 的值增加 1
list.clear() // 清空列表
return result // 返回結果
以上全部刪掉,不需要任何替代。
只保留以下四類註釋: - 業務背景:為什麼要有這段邏輯 - 複雜演算法概括:非顯而易見的演算法意圖 - 邊界/兜底邏輯:特殊情況的處理原因 - 危險操作警告:副作用、效能陷阱、併發風險等
消除以下表達模式: - "這個函式被用來..." - "它將返回..." - "為了防止發生不可預見的錯誤..." - "該方法用於處理..."
人類開發者寫註釋極少在單行註釋末尾加句號,去掉句末標點。
所有英文註釋、中英夾雜註釋,全部轉換為地道純中文。
執行最嚴格的精簡:能不寫就不寫。必須寫時,限制在 5 個詞以內。
好的行內註釋示例:
// 邊界攔截
// 防抖兜底
// 透傳資料
// 降級處理
// 冪等校驗
保留 @param、@return、@throws 等結構化標籤,但重寫描述文本,使用大廠慣用表達。
| AI 味寫法 | 重構為 |
|---|---|
| 作為預設的後備值 | 兜底 / 預設兜底 |
| 傳遞給下一個函式 | 透傳 |
| 檢查是否為空/未定義 | 判空 / 非空校驗 / 攔截 |
| 傳送網路請求獲取資料 | 拉取資料 |
| 傳入的引數 | 入參 |
| 返回的結果 | 出參 |
| 遍歷這個陣列 | (刪掉,廢話) |
| 初始化變數 | (刪掉,廢話) |
| 將結果儲存到變數中 | (刪掉,廢話) |
| 呼叫xxx方法來處理 | (刪掉,廢話) |
| 如果條件為真則... | (刪掉,廢話) |
| 捕獲並處理異常 | 異常兜底 |
| 確保執行緒安全 | 加鎖 / 併發保護 |
| 這是一個工具類 | 工具類 |
| 用於格式化輸出 | 格式化 |
| 語言 | 單行 | 塊註釋 | 文件註釋 |
|---|---|---|---|
| Java | // |
/* */ |
/** */ |
| Kotlin | // |
/* */ |
/** */ (KDoc) |
| C++ | // |
/* */ |
/// 或 /** */ |
| JavaScript / TypeScript | // |
/* */ |
/** */ (JSDoc) |
| React (JSX/TSX) | {/* */} JSX內 / // JS內 |
/* */ |
/** */ |
| Python | # |
— | """docstring""" |
| Rust | // |
/* */ |
/// (外部) / //! (模組) |
| Go | // |
/* */ |
// (godoc 格式) |
注意:JSX 模板內的註釋必須用 {/* */},不能用 //,處理 React 檔案時嚴格區分。
發現更多技能外掛,請訪問7w4.net。
/**
* 這個方法用於計算兩個整數的和並返回結果。
* @param a 第一個需要相加的整數引數
* @param b 第二個需要相加的整數引數
* @return 返回兩個整數相加之後得到的和
*/
public int add(int a, int b) {
// 將兩個數字進行相加操作
int result = a + b; // 計算結果儲存在result變數中
return result; // 返回最終的計算結果
}
public int add(int a, int b) {
int result = a + b;
return result;
}
/**
* 這個函式被用來從伺服器獲取使用者資料。
* 它將傳送一個網路請求到指定的API端點,
* 並在請求完成後返回使用者物件。
* @param userId 傳入的使用者ID引數,用於標識要獲取的使用者
* @returns 返回一個包含使用者資訊的Promise物件
*/
async function fetchUser(userId: string): Promise<User> {
// 檢查userId是否為空字串或者未定義
if (!userId) {
// 如果userId為空,則丟擲一個錯誤
throw new Error('userId is required');
}
// 傳送網路請求獲取資料
const response = await api.get(`/users/${userId}`);
// 將響應資料作為預設的後備值返回
return response.data ?? DEFAULT_USER;
}
/**
* 拉取單個使用者資料
* @param userId 使用者 ID
* @returns 使用者物件
*/
async function fetchUser(userId: string): Promise<User> {
if (!userId) { // 判空攔截
throw new Error('userId is required');
}
const response = await api.get(`/users/${userId}`);
return response.data ?? DEFAULT_USER; // 兜底
}
這個 Skill 質量不錯,能有效去除程式碼註釋中的 AI 味,讓註釋變得更簡潔專業。文件清晰好懂,示例豐富,術語對映表很實用。不足之處是缺少對複雜情況的處理指導,比如註釋和程式碼意思重複時該怎麼辦,沒有驗證方式確認輸出效果是否達標。整體適合需要規範化程式碼註釋的開發者使用,但建議先在小範圍測試再大規模應用。