style(review): 中文並列改頓號

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 14:29:47 +08:00
co-authored by Claude Fable 5
parent ccf83badbb
commit 3692c9e915
2 changed files with 9 additions and 9 deletions
+8 -8
View File
@@ -2,7 +2,7 @@
來源:《Refactoring》(Martin Fowler)與《A Philosophy of Software Design》(John Ousterhout,第 6 組)。
`code-review` 技能依此清單分六組審查,每組由一個 sub agent 執行。
每項格式:**定義 / 偵測訊號 / 建議重構手法**。
每項格式:**定義、偵測訊號、建議重構手法**。
## 第 1 組:結構與體積問題(Bloaters)
@@ -41,13 +41,13 @@
### 2.2 魔術數字(Magic Numbers)
- **定義**:程式碼中直接出現沒人知道代表什麼的字面值。
- **偵測訊號**:條件式或運算中出現裸數字/裸字串(0、1、-1、空字串與明顯單位換算除外需判斷);同一字面值在多處出現。
- **偵測訊號**:條件式或運算中出現裸數字、裸字串(0、1、-1、空字串與明顯單位換算除外需判斷);同一字面值在多處出現。
- **建議重構手法**:Replace Magic Literal(抽成具名常數或 enum);有行為就升級為 Replace Type Code with Class。
### 2.3 死碼(Dead Code)
- **定義**:已經不用卻不刪除的註解掉程式碼、變數、函式或類別。
- **偵測訊號**:被註解掉的程式碼區塊;無人呼叫的函式/類別(grep 全庫零引用);永遠不成立的條件分支;未使用的 import、參數、變數。
- **偵測訊號**:被註解掉的程式碼區塊;無人呼叫的函式、類別(grep 全庫零引用);永遠不成立的條件分支;未使用的 import、參數、變數。
- **建議重構手法**:Remove Dead Code(直接刪除,歷史交給版本控制)。
### 2.4 過度註解(Comments)
@@ -68,7 +68,7 @@
### 3.2 散彈式修改(Shotgun Surgery)
- **定義**:每當要修改一個小功能,就必須同時修改多個不同的檔案。
- **偵測訊號**:本次 diff 為了單一需求橫跨多檔做同質小改動;同一常數/規則散落多處;歷史上同組檔案總是一起被改。
- **偵測訊號**:本次 diff 為了單一需求橫跨多檔做同質小改動;同一常數或規則散落多處;歷史上同組檔案總是一起被改。
- **建議重構手法**:Move Function / Move Field 集中職責、Combine Functions into Class、Inline Function 後重新抽取。
### 3.3 發散式變化(Divergent Change)
@@ -100,13 +100,13 @@
### 4.3 誇誇其談未來性(Speculative Generality)
- **定義**:為了解決「未來可能」會用到的功能,寫了一堆現在用不到的複雜架構。
- **偵測訊號**:只有一個實作的抽象層/介面;從未被覆寫的 hook 方法;只在測試中使用的參數或彈性;「以後可能會需要」的註解。
- **偵測訊號**:只有一個實作的抽象層或介面;從未被覆寫的 hook 方法;只在測試中使用的參數或彈性;「以後可能會需要」的註解。
- **建議重構手法**:Collapse Hierarchy、Inline Function / Inline Class、Remove Dead Code、移除未用參數(Change Function Declaration)。
### 4.4 吞掉異常(Swallowed Exceptions)
- **定義**:try-catch 裡面留白,發生錯誤時直接隱瞞,導致難以 Debug。
- **偵測訊號**:空的 catch 區塊;catch 後只留註解或 `// ignore`;catch 住廣義 Exception 後回傳 null/預設值而不記錄;錯誤訊息被丟棄後重包。
- **偵測訊號**:空的 catch 區塊;catch 後只留註解或 `// ignore`;catch 住廣義 Exception 後回傳 null 或預設值而不記錄;錯誤訊息被丟棄後重包。
- **建議重構手法**:最少要記錄(log)並保留原始例外鏈;能處理才 catch,不能處理就往上拋;以 Introduce Special Case 取代以 null 掩蓋錯誤。
## 第 5 組:註解問題(介面契約註解)
@@ -115,7 +115,7 @@
### 5.1 方法描述
- **定義**:每個公開方法要有一句話描述,並標明所屬層級:**顯示層 / 邏輯層 / 存取層**。
- **定義**:每個公開方法要有一句話描述,並標明所屬層級:**顯示層、邏輯層、存取層**。
- **偵測訊號**:公開方法無描述;描述未標層級;描述與方法實際行為不符。
- **建議重構手法**:補上單句描述與層級標記;若一個方法橫跨多層,先依 Split Phase 拆分再各自標註。
@@ -128,7 +128,7 @@
### 5.3 輸出說明
- **定義**:輸出(回傳值)要說明回傳的資料內容概要。
- **偵測訊號**:無回傳說明;未說明 null/空集合/錯誤時的回傳;回傳布林但未說明 true/false 意義。
- **偵測訊號**:無回傳說明;未說明 null、空集合、錯誤時的回傳;回傳布林但未說明 true/false 意義。
- **建議重構手法**:補回傳內容概要與邊界情況說明。
### 5.4 輸入與輸出範例