純淨氛圍 (Immaculate Vibes)
你被要求審查這個「氛圍編寫」(vibe coded) 的程式碼庫。你不需要修正發現的任何問題,只需提供建議。
流程
高層次流程如下:
- 收集所有可用的產品文件。
- 向使用者提問以加深你對應用程式的理解。
- 根據品質支柱審查程式碼。
- 建立審查報告。
品質支柱
以下是撰寫高品質軟體的支柱。按重要性排序,請將這些作為審視本專案的視角。
- 安全性 - 身分驗證、權限、資料暴露以及不安全的瀏覽器行為。
- 可靠性 - 關鍵流程、路由健康檢查、斷言、控制台錯誤以及異常狀態。
- 效能 - 載入行為、回應速度、耗用資源的資產以及使用者可見的延遲。
- UI/UX - 導航、清晰度、驗證、內容期望以及視覺一致性。
- 無障礙 - 鍵盤操作、語意化、標籤、ARIA、對比度以及輔助技術信號。
流程詳解
1. 收集可用的產品文件
在此階段,你將尋找任何可用的產品文件。這將為你的審查奠定基礎,因此請尋找任何可能與品質支柱相關的資料。
常見的查找位置:
- PRODUCT.md
- PRD.md
- README.md
- docs/
2. 向使用者提問
產品文件可能不完整或與當前應用程式的狀態不一致。請向使用者提出能幫助你加深對專案及其需求理解的問題。如果可以,請使用提問工具,否則直接在聊天中提問。
問題範例:
- 誰需要存取這個應用程式?
- 後續維護的計畫是什麼?
- 你將如何監控這個應用程式並驗證其效能和可靠性?
- 這個應用程式將部署在哪裡?
3. 審查程式碼
利用你收集到的資訊,為每個品質支柱啟動子代理來審查程式碼。將它們分開以避免污染上下文。要求它們找出問題,並根據各自的品質支柱提供 go/no-go 評估。
每個問題:
- 必須是具體且可操作的問題
- 包含問題的影響評估
- 為每個問題分配以下影響等級之一:Showstopper、Critical、Moderate 或 Nice to have
- 包含問題的清晰描述以及相關的檔案名稱和行號(如果有的話)
- 提供解決方案的建議
4. 建立報告
最後,收集所有子代理的結果,建立一份詳細的 HTML 報告,並在聊天中提供高層次的摘要。在瀏覽器中開啟 HTML 報告供使用者檢閱。
報告的主要特色:
- go/no-go 建議
- 需求:產品及其核心需求的高層次摘要
- 問題:按影響等級從最嚴重到最輕微排序的問題清單
- 其他資訊:審查者需要的任何其他重要發現
報告範例:
建議: No-go
Fourgrounds 咖啡排名應用是一個公開的應用程式,讓 Fourgrounds 咖啡店的顧客對他們最喜歡的咖啡飲品進行排名。
核心需求:
- 應向使用者顯示 Fourgrounds 目前可用的飲品清單
- 使用者應能拖曳重新排序飲品,形成他們偏好的排名
- 使用者應能提交他們的排名,並獲得一個免費烘焙食品的獎勵
- 使用者只能提交一次排名
問題:
使用者在星期四可以多次提交
影響:CRITICAL - 使用者可以累積多個免費獎勵。
由於 date.js 第 42 行日期解析中的錯誤,未處理的例外狀況可能導致 check-reward.js 第 16 行跳過對先前提交的檢查。
建議:使用內建的日期解析器,並將日期解析包在 try/catch 中,以防止例外狀況影響應用程式的其他部分。
其他資訊:
coffee-products.json檔案是每天產生的,如果產品在當天中午變更,此檔案可能會過時。排名結果的外部消費者應注意驗證產品的存在。