| 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 線路格式。您會如何更新線路格式的文件?想像一下,您要向他人詳細說明功能,讓對方能夠實作。
請提供建議功能的重要範例或用途。
缺點、替代方案和未知事項
實施這項提案的成本為何?
還有哪些策略可以解決相同問題?
接受這項提案前,還有哪些問題需要解決,或哪些細節需要反覆確認?隨著提案演變,您對這個問題的答案可能也會有所不同。
既有技術和參考資料
閱讀這份提案時,是否有任何背景資料可供參考?舉例來說,其他作業系統是否會解決這項提案要解決的相同問題?