審查拉取請求
- 取得差異。若是 PR 編號請使用
gh pr diff <number>;否則使用git diff origin/main...HEAD。同時閱讀 PR 描述(若有則使用gh pr view <number>)。 - 如果僅看差異難以理解,請完整閱讀已變更的檔案。不要審閱你尚未讀過的程式碼。
- 依序檢查:
- 正確性: 錯誤的條件、差一錯誤、未處理的錯誤、競爭條件、null/空輸入。
- 測試: 每個行為變更是否都已涵蓋?沒有變更時測試是否會失敗?
- 安全性: 未受信任的輸入是否進入 shell、SQL、檔案路徑或 HTML;差異中是否包含機密資訊。
- 相容性: 已變更的公開介面、遷移、設定或環境變數。
- 可讀性: 只關注可能拖慢下一位維護者的問題。略過 linter 已涵蓋的純風格偏好。
- 如果測試存在,執行
npm test並誠實回報結果。
輸出格式
## 摘要
簡述 PR 的內容以及你的總體判定(批准 / 要求變更 / 留言)。
## 必須修正
- `path/file.js:42` 問題說明、為何重要、建議的修正方式。
## 應考慮
- `path/file.js:90` ...
## 可以改善
- ...
若某一區塊為空則省略。每個發現都需標明 file:line。不要無中生有:如果變更沒有問題,就在摘要中說明。除非使用者要求,否則不要將留言發布到 GitHub。