RFC-0000:RFC 範本

RFC-0000:RFC 範本
狀態Template
區域
  • 一般
說明

RFC 範本。

問題
Gerrit 變更
作者
審查人員

問題陳述

這項提案解決了什麼問題?這項提案並未嘗試解決哪些問題?

摘要

一段說明提議變更的文字。

利害關係人

誰會受到這項 RFC 是否通過的影響?(這個部分為選填,但建議填寫)。

協助人員:

由 FEC 指派的人員,負責在 RFC 程序中引導這項 RFC。

審查者:

列出投票者 (贊成或反對),FEC 會在決定是否接受或拒絕這項 RFC 時,將這些投票納入考量。如適用,也請列出預期專注的領域,例如「FIDL」或「安全性」。在某些情況下,這個部分一開始可能會留空,並在初步的社交化階段後完成利害關係人探索。一般來說,應在 Gerrit 的審查人員行中列出「審查人員」,並將「諮詢對象」加入副本。請注意,審查員人數應維持在可管理的範圍內,但確切人數取決於相關 RFC 的範圍。

諮詢:

列出應審查 RFC 的人員,但不必獲得他們的核准。

社交:

本節可用於說明設計在進入 RFC 程序的「疊代」階段前,是如何進行社交化。例如:「This RFC went through a design review with the Component Framework team.」(這份 RFC 已通過元件架構團隊的設計審查)。

需求條件

對於這項 RFC 解決的問題,可能的解決方案有哪些限制?

設計

這是提案的技術詳細版本。

提示區域:FIDL,請替換為相關區域

提案中一個重要的高階部分是提案修改的 FIDL 部分。包括至少:

  • FIDL 來源語言
  • FIDL 線路格式
  • 一流的語言繫結 (C、C++、Dart、Go、Rust)
  • FIDL 樣式指南和 API 評分標準
  • FIDL 微調程序

提案應涵蓋所有相關領域。舉例來說,如果提案在 FIDL 語言中新增類型,也必須討論該功能的樣式指南,以及如何在繫結中實作。

實作

您打算如何實作這項設計?變更是否可在單一 Gerrit 變更中完成,還是需要複雜的第三方依附元件遷移作業?您是否打算將實作作業分成多個階段?各階段有哪些依附元件?

效能

這項提案對效能有何影響?我們應建立哪些基準來評估提案?評估導入成效?我們應持續監控哪些基準?

人體工學

提示區域:FIDL,請替換為相關區域

您的變更是否能讓 FIDL 更容易使用及理解?是否能讓繫結更容易使用?如果沒有,複雜性的理由為何?

著重於使用者 API 和瞭解概念所需的認知工作。

回溯相容性

提示區域:FIDL,請替換為相關區域

回溯相容性有兩種形式:FIDL 檔案來源相容性,以及 ABI 或連線格式相容性。本節應說明這兩項要素。隨著時間推移,回溯不相容的變更會越來越難。

如果您要導入新的資料型別或語言功能,請考量使用者應對 FIDL 定義進行哪些變更,才不會導致產生的程式碼無法運作。如果您的功能對產生的語言繫結設下任何新的來源相容性限制,請在此列出。

安全性考量

這項提案對安全性有何影響?提案是否需要接受安全性審查?

建議您先思考系統可能會遇到哪些不受信任的輸入內容,以及這些輸入內容可能會如何用於操控系統。接著,請考量已知類別的安全性漏洞可能如何套用至系統,以及可採用哪些工具和技術來避免這些漏洞。

隱私權注意事項

這項提案對隱私權有何影響?提案是否需要隱私權審查?

首先,請思考系統可能會如何收集、儲存或處理使用者資料。接著,請考量這類資料的生命週期,以及可能採用的任何資料保護技術。

測試

您會如何測試這項功能?典型的測試策略包括單元、整合和端對端測試。現有的測試架構和基礎架構是否足以支援這些測試?還是需要額外投資這些領域?

如果您的系統定義了由其他人實作的合約,這些人要如何測試合約是否實作正確?舉例來說,您可以為此建立一致性測試套件。

提示區域:FIDL,請替換為相關區域

如何測試您的功能?舉例來說,您是否需要為 fidlc 或 C++ 繫結編寫新測試?

如果變更會影響編碼或解碼,請規劃更新一致性測試套件。

如何測試新功能的使用情形?如果您新增語言功能,要如何在各語言的繫結中測試?

說明文件

我們是否需要建立或更新任何文件來涵蓋這項功能?舉例來說,我們是否需要從專案藍圖新增或移除項目?我們是否需要變更架構文件?終端開發人員是否能從這項提案的相關文件獲益?

請勿將 RFC 本身做為功能的說明文件。 說明文件必須保持最新狀態,且 RFC 一經接受就不應變更。

提示區域:FIDL,請替換為相關區域

您可能需要處理多種文件。

請以各種 FIDL 教學課程的風格,為這項功能撰寫或變更教學課程。想像一下,您要向剛接觸 Fuchsia 的人說明自己的功能。

你會如何撰寫參考文件?舉例來說,假設您的提案擴充了 FIDL 線路格式。您會如何更新線路格式的文件?想像一下,您要向他人詳細說明功能,讓對方能夠實作。

請提供建議功能的重要範例或用途。

缺點、替代方案和未知事項

實施這項提案的成本為何?

還有哪些策略可以解決相同問題?

接受這項提案前,還有哪些問題需要解決,或哪些細節需要反覆確認?隨著提案演變,您對這個問題的答案可能也會有所不同。

既有技術和參考資料

閱讀這份提案時,是否有任何背景資料可供參考?舉例來說,其他作業系統是否會解決這項提案要解決的相同問題?