作為一個每天要看幾千行程式碼的技術編輯,我太懂那種「打開同事PR(Pull Request)就想關掉電腦」的感覺。不是說同事寫得爛,而是Code Review這件事本身就消耗大量心力——你要理解邏輯、抓邊界條件、檢查安全性、還要確保風格一致。

但現在,Google Gemini 把這件事變簡單了。

今天要評測的是 Gemini Code Review,一個直接整合在 GitHub、GitLab 的 AI 程式碼審查助手。不是那種「幫你生成註解」的花瓶工具,而是真的能指出「第47行有潛在的NullPointerException」、「這段SQL有SQL Injection風險」、「這個演算法的時間複雜度可以從O(n²)降到O(n log n)」。

我連續測試了三個真實專案——一個React前端專案、一個Python後端API、一個Go語言的微服務——記錄了它的準確度、誤報率、以及實際節省的時間。

設定步驟|5分鐘搞定

Gemini Code Review 的設定比我想像中簡單。不需要安裝本地端工具,也不需要寫YAML設定檔。

第一步:安裝 GitHub App 到 Google Cloud Console 搜尋「Gemini Code Review」,點擊「Install for GitHub」。授權後,選擇你要讓它審查的儲存庫。可以全部選,也可以只選特定幾個。

第二步:設定審查規則 安裝後會自動建立一個 .gemini-code-review.yaml 檔案在你的儲存庫根目錄。預設設定就很完善,但你也可以自訂:

  • 審查深度:Basic(只抓明顯錯誤)、Standard(含效能建議)、Deep(含架構建議)
  • 忽略規則:例如你不想讓它檢查測試檔或自動產生的程式碼
  • 語言優先級:如果你的專案有多種語言,可以指定優先審查哪一種

第三步:打開PR就自動審查 完成後,每次有人發起PR,Gemini 會自動在幾秒內貼上一份審查報告。報告分成三個區塊:

  1. Critical Issues:一定會出錯的Bug
  2. Suggestions:可以優化的地方
  3. Style & Best Practices:程式碼風格建議

整個過程不到5分鐘。我測試時,第一個PR在送出後8秒就收到評論——比同事回覆快太多了。

功能實測|準確度驚人

我測試了三個專案,每個專案都有意圖加入一些常見錯誤。

測試一:React前端(TypeScript) 我故意在一個useEffect裡忘了加dependency array,導致無限迴圈。Gemini 在5秒內就抓到了,而且評論寫著:「第23行:useEffect缺少依賴項 ‘userId’,可能導致無限重新渲染。建議加入或使用eslint-disable註解。」

更厲害的是,它還指出一個我沒注意到的問題:某個元件在unmount時沒有清理setTimeout,會造成記憶體洩漏。這個連我的團隊都沒發現。

測試二:Python後端(FastAPI) 我故意寫了一段直接拼接使用者輸入的SQL查詢。Gemini 立刻標記為Critical Issue,並附上說明:「第15行:直接拼接使用者輸入到SQL字串,有SQL Injection風險。建議使用參數化查詢。」它甚至貼出了修正後的程式碼範例。

它也抓出一個API路由沒有做輸入驗證,會導致500錯誤。這點很實用——很多開發者會忘記檢查request body的格式。

測試三:Go微服務 這個測試比較硬核。我寫了一個O(n²)的巢狀迴圈來處理大量資料。Gemini 的Deep模式建議改用map查詢,將時間複雜度降到O(n)。它還附上Benchmark數據:「目前實作在10萬筆資料下約需2.3秒,優化後可降至0.04秒。」

不過,它也出現了一些誤報。例如它把某個合理的golang pattern標記為「潛在問題」,因為那個pattern在一般情況下很少用。整體誤報率大約在15%左右,比人類同事的誤報率低很多。

付費方案對比

Gemini Code Review 採用用量計費,沒有固定月費。以下是主要方案:

免費方案

  • 每月500次審查
  • Basic審查深度
  • 支援GitHub和GitLab
  • 適合個人開發者或小型專案

Standard方案(每千次審查$10)

  • 無上限審查次數
  • Standard審查深度
  • 支援私有的儲存庫
  • 可以設定自訂規則

Enterprise方案(每千次審查$25)

  • Deep審查深度
  • 支援On-premise Git伺服器
  • SOC 2合規
  • 優先技術支援

對比同類工具:

  • GitHub Copilot Code Review:月費$19,但審查深度不如Gemini
  • CodeRabbit:每千次審查$15,但只支援GitHub
  • Snyk:專注安全性,不涵蓋效能優化和風格檢查

以中型團隊(10人,每月約500次PR)來說,Gemini的Standard方案每月只要$5,非常划算。

限制與遺憾

雖然Gemini Code Review很強,但它不是萬能的。

無法取代人類審查 AI可以抓語法錯誤和常見模式,但無法理解商業邏輯。例如它不會知道「這個欄位應該叫『總金額』而不是『金額』」,因為這需要對業務領域的理解。

長上下文表現下降 當一個PR修改超過500行時,審查的準確度明顯下降。我測試了一個修改1200行的PR,它漏掉了兩個明顯的錯誤。Google官方說正在優化,但目前建議將大PR拆成小塊。

只支援主流語言 對於Rust、Kotlin、Swift等語言的支援還在Beta階段。我測試Rust程式碼時,它給出的建議有些不太準確。

隱私考量 所有程式碼都會上傳到Google Cloud進行分析。雖然Google保證不會用來訓練模型,但對金融、醫療等高度監管的行業來說,這可能仍是個問題。

誰該用這個工具?

如果你是:個人開發者或小型新創團隊 強烈推薦使用免費方案。它可以幫你省下大量Code Review時間,而且免費方案已經夠用。

如果你是:中型到大型團隊 建議付費Standard方案。設定自訂規則後,可以讓AI專注於團隊關注的重點,例如安全性或效能。

如果你是:高度監管行業(金融、醫療、政府) 暫時不建議使用,除非你願意接受程式碼上傳雲端。可以考慮等Enterprise方案的On-premise版本。

延伸閱讀

總結

Gemini Code Review 是目前市面上最完整的AI程式碼審查工具之一。它不像一些競爭對手只會給「這行程式碼很好」這種廢話,而是真的指出問題、提供修正方案、甚至附上效能數據。

對我來說,它最大的價值不是取代Code Review,而是讓Code Review變得更有效率——把那些瑣碎的風格檢查和常見錯誤交給AI,讓人類專注在真正重要的商業邏輯和架構討論上。

設定只要5分鐘,免費方案就能開始用。如果你還在為Code Review耗費太多時間而煩惱,這絕對值得一試。