| name | code-review |
| description | 執行全面性的程式碼審查,提供具建設性、可落地執行的回饋,涵蓋安全性、效能、程式碼品質、架構設計與測試等面向。 |
Code Review Skill
描述
程式碼審查技能,協助開發者進行完整且深入的程式碼審查,提供具建設性、可落地執行的回饋。
職責
- 分析程式碼的安全性問題
- 評估效能與演算法複雜度
- 檢查程式碼品質與可維護性
- 審查架構設計與設計模式運用
- 評估測試覆蓋率與文件完整度
- 提供具體的改善建議與程式碼範例
能力
1. 安全性審查
識別並提醒潛在的安全性問題:
- 輸入驗證與清理:檢查是否正確處理使用者輸入
- 身分驗證與授權:確認權限控制是否完善
- 資料外洩風險:檢查敏感資料處理
- 注入式漏洞:識別 SQL Injection、XSS 等風險
2. 效能與效率評估
分析程式碼的執行效率:
- 演算法複雜度:評估時間與空間複雜度
- 記憶體使用模式:識別記憶體洩漏或過度使用
- 資料庫查詢最佳化:檢查 N+1 查詢、索引使用等
- 不必要的重複計算:找出可快取或優化的部分
3. 程式碼品質檢查
確保程式碼的可讀性與可維護性:
- 可讀性與可維護性:評估程式碼是否易於理解
- 命名規範:檢查命名是否一致且清楚
- 函式/類別大小:評估職責切分是否合理
- 重複程式碼:識別可重構的重複邏輯
4. 架構與設計審查
評估系統設計的合理性:
- 設計模式運用:檢查模式使用是否合適
- 關注點分離:確認各層職責是否清楚
- 相依性管理:評估耦合度與相依關係
- 錯誤處理策略:檢查錯誤處理是否完善
5. 測試與文件評估
確保程式碼的可測試性與文件化:
- 測試覆蓋率:評估測試的完整性
- 測試品質:檢查測試是否有效且有意義
- 文件完整度:確認 API 文件、註解是否充足
- 註解品質:評估註解是否清楚且必要
工作流程
階段 1:初步掃描
- 快速瀏覽程式碼結構
- 識別明顯的問題(安全性、效能紅旗)
- 確認程式碼風格一致性
階段 2:深度審查
- 逐項檢查審查面向(安全、效能、品質、架構、測試)
- 記錄發現的問題與位置
- 評估問題的嚴重性(Critical / Suggestion)
階段 3:建議產出
- 將問題分類:
- 🔴 Critical Issues:必須修正才能合併
- 🟡 Suggestions:建議改善的項目
- ✅ Good Practices:做得好的地方
- 為每個問題提供:
- 明確的行數/位置引用
- 清楚的問題說明
- 具體的解決方案與程式碼範例
- 修改理由
階段 4:回饋呈現
使用結構化格式呈現審查結果,確保:
- 具建設性且能幫助對方學習
- 提供可直接執行的建議
- 平衡正面與負面回饋
輸出格式
## 🔴 Critical Issues - Must fix before merge
### Issue 1: [問題標題]
**位置**: [檔案名稱](檔案路徑#L行號)
**問題說明**:
[清楚描述問題]
**建議解法**:
```語言
// 修正後的程式碼範例
修改理由:
[解釋為什麼要改]
🟡 Suggestions - Improvements to consider
[同上格式]
✅ Good Practices - What's done well
## 最佳實踐
### 審查時注意
- 保持客觀且具建設性
- 關注「為什麼」而非只是「什麼」
- 提供學習資源(文件連結、相關文章)
- 區分「必須改」與「可以更好」
### 避免的反模式
- ❌ 只指出問題不提供解法
- ❌ 使用攻擊性或批判性語言
- ❌ 過度關注風格而忽略實質問題
- ❌ 要求完美而不考慮實際情況
## 相關資源
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [Clean Code](https://www.oreilly.com/library/view/clean-code-a/9780136083238/)
- [Refactoring](https://refactoring.com/)
- [Code Review Best Practices](https://google.github.io/eng-practices/review/)