原文地址:http://www.phabricator.com/docs/phabricator/article/Audit_User_Guide.html
概覽
Phabricator支持兩種代碼審查工作流:“review”(提交前審查)和 “audit”(提交后審查)。
這篇文檔概述了通過Audit工具實現提交后審查流程。
Audit如何工作
使用審核工具允許提交和部署代碼,而無需等待代碼審查結果,雖然最終還是會進行代碼審查。Audit工具主要跟蹤兩件事:
- 代碼提交(Commits),以及它們的審核狀態(譬如“未經審核(Not Audited)”、“認可(Approved)”、“引發擔憂(Concern Raised)”)。
- 審核請求(Audit Requests)。審核請求提醒用戶去審核一次提交。它有多種觸發方式。(可見“審核觸發器”一節)

- 必要的審核(Required Audits)。當你是某個項目的成員,或者是一個包的擁有者,Required Audits提示你去審核一次提交。當你認可這次提交時,審核請求會被關閉。
- 問題提交(Problem Commits)。是指有人在審核過程中對你提交的代碼表示擔憂。當你消除了他們的疑慮並且所有審核人均對代碼表示認可時,問題提交將會消失。
舉例
- 翠花進行了一次代碼提交
- 鐵蛋接收到審核請求
- 過了一陣兒,鐵蛋登錄Phabricator並在首頁看到審核請求
- 鐵蛋檢查翠花提交的代碼。他發現代碼中的一些問題,之后他選擇了“引發擔憂”選項,並且在評論中描述了這些問題
- 翠花收到一封關於鐵蛋對她的提交表示憂慮的email。她決定過一會兒再處理這個問題
- 不久后,翠花登錄Phabricator並在首頁“問題提交”下看到提示
- 翠花通過某些方式解決了那些問題(如“找鐵蛋討論”、“修復問題並提交”)
- 鐵蛋表示滿意,並認可了最初那次提交
- 審核請求將從鐵蛋的待辦事項中消失。問題提交也會從翠花的待辦事項里消失
審核觸發器
審核請求可由多種方式觸發:
- 將“Auditors: username1, username2”寫入提交注釋中,會觸發上述用戶接到審核請求。如下圖所示。
- 可以在Herald工具中,根據提交的屬性創建一系列的觸發規則。如有文件被創建、文本被修改,提交人等。
- 可以在任何提交中,通過提交注釋為自己創建審核請求。
在小團隊中進行審核
如果你身處一個小團隊並且認為不需要復雜的觸發規則,那么你可以創建一個簡單的審核工作流,如下所示:
- 創建一個新項目:“Code Audits”。
- 為代碼提交創建一條全局規則:"Differential Revision" "does not exist"。在這條規則下,“Code Audits”項目的每一次提交都會觸發一次審核請求。
- 所有工程師加入Code Audits項目。
一旦團隊壯大,便可改進觸發規則使每位開發人員只看到與他們有關的代碼修改。
審核工具小貼士:
- 責任感。在審閱一次代碼提交時,你所負責的審核是被突出顯示的。你要為自己的任何審核行為負責。
- 在diff對比區域,點擊行號將可添加內嵌評論。
- 在diff對比區域,在行號上拖動可添加跨越多行的內嵌評論。
- 內嵌評論最初只保存為草稿,直到你在頁面底部提交評論。
- 按“?”鍵查看快捷鍵。