設計審查指南
請務必在適用的情況下遵循以下指南。
V8 設計審查的正式化有多個驅動力
- 讓個別貢獻者 (IC) 明確了解決策者是誰,並強調在專案因技術分歧而無法進行時的前進道路
- 建立一個進行直接設計討論的論壇
- 確保 V8 技術負責人 (TL) 了解所有重大變更,並有機會在技術負責人 (TL) 層級提供意見
- 增加全球所有 V8 貢獻者的參與度
摘要 #
重要
- 假設有善意
- 保持友善和文明
- 務實
建議的解決方案基於以下假設/支柱
- 建議的工作流程由個別貢獻者 (IC) 負責。他們是促進流程的人。
- 他們的指導 TL 負責協助他們了解領域並找到適當的 LGTM 提供者。
- 如果某個功能沒有爭議,幾乎不會產生任何額外負擔。
- 如果爭議很大,則可以將該功能「升級」到 V8 Eng 審查負責人會議,並在會議中決定後續步驟。
角色 #
個別貢獻者 (IC) #
LGTM:不適用
此人是功能的建立者和設計文件建立者。
IC 的技術負責人 (TL) #
LGTM:必須有
此人是特定專案或元件的 TL。此人是您功能將觸及的主要元件的負責人。如果不清楚 TL 是誰,請透過 v8-eng-review-owners@googlegroups.com 詢問 V8 Eng 審查負責人。TL 負責在適當的情況下將更多人加入所需的 LGTM 清單。
LGTM 提供者 #
LGTM:必須有
這是必須提供 LGTM 的人。可能是 IC 或 TL(M)。
文件的「隨機」審閱者 (RRotD) #
LGTM:不需要
這是一個僅審閱並評論提案的人。儘管不需要他們的 LGTM,但應考慮他們的意見。
V8 Eng 審查所有者 #
LGTM:不需要
可以透過 v8-eng-review-owners@googlegroups.com 將停滯不前的提案升級至 V8 Eng 審查所有者。此類升級的潛在使用案例
- LGTM 提供者沒有回應
- 無法達成設計共識
V8 Eng 審查所有者可以推翻非 LGTM 或 LGTM。
詳細的工作流程 #
- 開始:IC 決定開發功能/獲分配功能
- IC 將其早期設計文件/說明文件/一頁文件發送給一些 RRotD
- 原型被視為「設計文件」的一部分
- IC 將人員新增至 LGTM 提供者清單,IC 認為這些人員應該提供其 LGTM。TL 必須在 LGTM 提供者清單中。
- IC 納入回饋意見。
- TL 將更多人員新增至 LGTM 提供者清單。
- IC 將早期設計文件/說明文件/一頁文件發送至 v8-dev+design@googlegroups.com。
- IC 收集 LGTM。TL 會協助他們。
- LGTM 提供者審閱文件,新增評論,並在文件開頭提供 LGTM 或非 LGTM。如果他們新增非 LGTM,他們有義務列出原因。
- 選用:LGTM 提供者可以將自己從 LGTM 提供者清單中移除,和/或建議其他 LGTM 提供者
- IC 和 TL 努力解決未解決的問題。
- 如果收集所有 LGTM,請寄送電子郵件至 v8-dev@googlegroups.com(例如,透過 ping 原始討論串)並宣布實作。
- 選用:如果 IC 和 TL 遇到阻礙和/或想要進行更廣泛的討論,他們可以將問題升級至 V8 Eng 審查所有者。
- IC 將郵件寄送至 v8-eng-review-owners@googlegroups.com
- TL 在副本收件者中
- 在郵件中連結至設計文件
- 每位 V8 Eng 審查所有者成員都有義務審閱文件,並可選擇將自己新增至 LGTM 提供者清單。
- 決定了解決功能的下一步步驟。
- 如果阻礙之後未解決,或發現新的、無法解決的阻礙,請前往 8。
- IC 將郵件寄送至 v8-eng-review-owners@googlegroups.com
- 選用:如果在功能已獲核准後新增「非 LGTM」,應將其視為正常的未解決問題。
- IC 和 TL 努力解決未解決的問題。
- 結束:IC 繼續進行功能。
並永遠記住
- 假設有善意
- 保持友善和文明
- 務實
常見問題 #
如何決定此功能是否值得撰寫設計文件? #
何時適合撰寫設計文件的一些提示
- 至少觸及兩個元件
- 需要與非 V8 專案進行調整,例如偵錯程式、Blink
- 實作時間超過 1 週
- 是語言功能
- 會觸及特定平台的程式碼
- 使用者介面變更
如有疑問,請詢問技術主管。
如何決定要將誰新增至 LGTM 提供者清單? #
何時應將人員新增至 LGTM 提供者清單的一些提示
- 您預期會觸及的原始檔或目錄的擁有者
- 您預期會觸及的元件的主要元件專家
- 變更的下游使用者,例如當您變更 API 時
誰是「我的」技術主管? #
這可能是您的功能將會觸及的主要元件的擁有者。如果技術主管身分不明確,請透過 v8-eng-review-owners@googlegroups.com 詢問 V8 工程審查擁有者。
我在哪裡可以找到設計文件的範本? #
在此.
如果發生重大變更,該怎麼辦? #
請確保您仍然擁有 LGTM,例如透過明確、合理的否決期限通知 LGTM 提供者。
LGTM 提供者未對我的文件發表評論,我該怎麼辦? #
在此情況下,您可以遵循此升級路徑
- 透過電子郵件、Hangouts 或文件中的評論/指派直接通知他們,並特別明確要求他們新增 LGTM 或非 LGTM。
- 讓您的技術主管參與,並請他們協助。
- 升級至 v8-eng-review-owners@googlegroups.com。
有人將我新增為文件的 LGTM 提供者,我該怎麼辦? #
V8 旨在讓決策更透明,升級更直接。如果您認為設計夠好,而且應該執行,請在您姓名旁的表格儲存格中新增「LGTM」。
如果您有阻擋疑慮或意見,請在您姓名旁的表格儲存格中新增「非 LGTM,因為 <原因>」。請準備好接受另一輪審查。
這如何與 Blink 意圖流程搭配運作? #
V8 設計審查指南補充 V8 的 Blink Intent+Errata 程序。如果您要推出新的 WebAssembly 或 JavaScript 語言功能,請遵循 V8 的 Blink Intent+Errata 程序和 V8 設計審查指南。在您發送實作意向時,收集所有 LGTM 可能是合理的。