程式碼評審與質素改進
程式碼評審唔係行個流程——要發現隱患、畀出可操作嘅評審意見、追蹤到修復完成。呢個案例展示點樣用 LanMate 將程式碼評審由「睇一眼話冇問題」變成結構化閉環,令問題唔遺漏、修復可追溯。
用到嘅技能
- 內建技能(跟住 LanMate 安裝,開箱即用):LanMate 本身可讀寫程式碼檔案,唔需要額外內建技能
- 技能商店:程式碼評審請求方法論——編寫結構化評審請求,含變更摘要同自測清單;程式碼評審接收方法論——以接收者角色處理評審意見,建立分類到驗證嘅閉環;程式碼質素審查器——掃描複雜度、重複程式碼、命名規範等質素問題;程式碼安全掃描器——掃描硬編碼金鑰、SQL 注入、XSS 等安全風險
場景痛點
- 評審請求冇上下文:淨係丟一個變更連結,評審者唔知改咗咩、點解改、點樣測
- 評審意見全靠感覺:「呢度唔太啱」「建議優化」,冇嚴重程度同具體建議
- 質素問題重複出現:函式過長、魔法數字、重複程式碼,每次評審都提但每次都唔改
- 安全風險被忽略:硬編碼金鑰、SQL 注入、XSS,靠肉眼評審根本睇唔到晒
- 修復冇閉環:提咗意見就完事,改咗冇、改得啱唔啱無人跟進
推薦流程
| 步驟 |
LanMate 做咩 |
你要確認咩 |
| 1 |
讀取程式碼變更,生成結構化評審請求(變更摘要 + 自測清單) |
變更範圍同自測覆蓋是否完整 |
| 2 |
接收他人程式碼變更,分析變更範圍並逐檔案生成評審意見 |
評審意見是否可操作 |
| 3 |
掃描程式碼質素(複雜度、重複程式碼、命名規範),輸出質素報告 |
質素問題優先級是否合理 |
| 4 |
掃描安全風險(硬編碼金鑰、SQL 注入、XSS),按嚴重度輸出 |
安全風險是否需要立即修復 |
| 5 |
匯總生成評審報告(問題列表 + 嚴重程度 + 修復建議 + 責任人) |
責任人同修復期限是否明確 |
提示詞範例
提交評審前自查
我準備提交一個程式碼變更,請幫我生成結構化評審請求:
- 變更摘要:今次改咗咩、點解改(1-2 句話)
- 變更範圍:涉及嘅檔案列表同每個檔案嘅改動類型(新增 / 修改 / 刪除)
- 自測清單:我應該自測邊啲場景
- 風險提示:邊啲改動可能影響現有功能
- 回滾方案:如果出問題點樣回滾
讀取 src/ 目錄下嘅程式碼檔案,根據最近嘅改動生成。
自測清單要具體到測試場景,唔好寫「全面測試」呢種泛化表述。
接收他人程式碼變更進行評審
請評審 src/ 目錄下嘅程式碼變更,逐檔案生成評審意見:
1. 先分析變更範圍:邊啲檔案改咗、每個檔案改咗咩
2. 逐檔案評審,每條意見包含:
- 檔案名同行號
- 問題描述
- 嚴重程度(阻斷 / 重要 / 建議)
- 修改建議(具體到點樣改)
3. 匯總變更中嘅亮點(值得學習嘅寫法)
重點檢查:
- 邏輯錯誤同邊界條件(空值、越界、例外未處理)
- 是否引入唔必要嘅複雜度
- 是否有硬編碼值應該提取為設定
程式碼質素評估
請掃描 src/ 目錄下嘅程式碼,生成質素審查報告:
1. 函式複雜度:標出圈複雜度過高嘅函式(建議閾值 15 以上標記)
2. 重複程式碼:標出重複出現嘅程式碼區塊
3. 命名規範:檢查函式名、變數名是否表意清晰、是否符合約定
4. 程式碼異味:過長嘅函式、過深嘅巢狀、過大嘅類別
每個問題輸出:
- 檔案名同位置
- 問題類型
- 嚴重程度(高 / 中 / 低)
- 重構建議
唔好報告純格式問題(如縮排、空格),聚焦影響可維護性嘅實質問題。
安全掃描
請掃描 src/ 目錄下嘅程式碼,偵測安全風險:
1. 硬編碼金鑰:檢查是否有 API 金鑰、密碼、Token 寫死喺程式碼中
2. SQL 注入:檢查是否有拼接 SQL 語句嘅寫法
3. XSS:檢查是否有未轉義嘅使用者輸入直接輸出到頁面
4. 敏感資訊洩露:檢查日誌中是否列印咗敏感資料
每個風險輸出:
- 檔案名同行號
- 風險類型
- 嚴重程度(嚴重 / 高 / 中 / 低)
- 修復建議
無法確認是否為風險嘅位置標註「需人工確認」,唔好自行判定。
生成評審報告
請匯總以上評審結果,生成一份程式碼評審報告:
- 問題列表(含檔案、行號、問題描述、嚴重程度)
- 按嚴重程度分組統計(阻斷 / 重要 / 建議)
- 每個問題嘅修復建議
- 責任人同建議修復期限
- 評審結論(通過 / 需修改後通過 / 唔通過)
阻斷級問題必須喺報告中置頂,並說明唔修復嘅後果。
輸出 HTML 報告。
驗收標準
- 評審請求含變更摘要、變更範圍、自測清單,自測場景具體可執行
- 每條評審意見含檔案名、行號、嚴重程度同具體修改建議
- 質素報告聚焦可維護性問題,唔報告純格式問題
- 安全風險按嚴重度分級,無法確認嘅標註「需人工確認」
- 評審報告含問題列表、修復建議、責任人同評審結論,阻斷級問題置頂
常見錯誤
| 常見錯誤 |
點解會發生 |
更好嘅做法 |
| 評審意見淨係話「建議優化」 |
缺乏具體標準同操作指引 |
每條意見畀出具體問題同修改方法 |
| 評審請求淨係丟連結 |
提交者未提供變更上下文 |
生成結構化請求,含摘要、範圍同自測清單 |
| 質素問題重複提重複唔改 |
淨係報告唔追蹤修復 |
評審報告含責任人同修復期限,追蹤閉環 |
| 安全掃描遺漏已知風險 |
淨係做咗人工評審 |
用安全掃描器覆蓋硬編碼、注入、XSS 等常見風險 |
| 評審意見混入個人偏好 |
格式偏好同實質問題混埋一齊 |
區分阻斷級問題同風格建議,聚焦影響可維護性嘅實質問題 |