RFC-0000:RFC 範本 | |
---|---|
狀態 | Template |
領域 |
|
說明 | RFC 範本。 |
問題 |
|
更小鳥 |
|
作者 |
|
審查人員 |
|
問題陳述
這個提案能解決什麼問題?這個提案沒有嘗試解決哪些問題?
摘要
一則說明提案變更的段落。
相關人員
誰有權規範這份 RFC?(本節為選用,但建議提供)。
講師:
FEC 委任的人員透過 RFC 程序來破壞這個 RFC。
審查者:
列出選票 (+1 或 -1) 的人在 FEC 決定是否接受或拒絕時,會將該選民納入考量。在適用情況下,也會列出他們預期著重的區域,例如「FIDL」或「security」。在某些情況下,本節一開始可能會留空,且利害關係人在初始社交化後完成探索。一般來說,「評論者」應列在審查人員的 gerrit 行中,而「諮詢」的人則應加入副本。雖然確切數量將取決於相關 RFC 的範圍,但您應謹慎管理審查員的數量。
諮詢時間:
列出應查看 RFC,但不一定要經過核准的使用者。
社會化:
在進入 RFC 程序的「疊代」階段前,本節可用於說明設計的社交方式。例如:「這個 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 線路格式。如何更新傳輸格式的說明文件?請設想一下,向使用者詳細介紹您的功能,讓他們可以實作。
你提議的功能有哪些重要範例或用途?
缺點、替代項目和未知
採行此提案需要多少費用?
還有哪些策略或許能解決相同的問題?
還有哪些問題需要解決,或需反覆解決,才能接受此提案?隨著提案內容不斷推陳出新,您的答案可能會更臻完善。
優先藝術與參考資料
閱讀這份提案時,是否有任何可能有幫助的背景素材?舉例來說,其他作業系統是否能夠處理相同提案的問題?