提出新功能¶
您對 {{ 正式名稱 }} 有了改進的想法。- 您該如何提交該想法以供考慮?
進行研究¶
第一步是搜尋 BeeWare 問題追蹤器中現有的 feature issues (標示為「enhancement」的問題), documentation issues (issues tagged "documentation"),或 Discussion threads 看看這個想法之前是否有人提過。如果有,而且您有新的背景或想法要補充,請將它們包含在現有的主題中。如果您在研究過程中需要協助,您可以在 BeeWare Discord 的 #dev channel 中詢問。我們或許能夠為您指出現有主題的方向,提供您可能不知道的背景,或將您的想法與另一個可能看起來沒有立即關聯的想法連結起來。
討論想法¶
如果您沒有找到任何與您的構想相關的現有參考資料,請開始一個 討論主題.提供您的想法的目的和用例的高層級描述。包含您對該功能實作後的外觀的任何想法,例如 API 的一般形狀、功能的視覺外觀,或將新增的文件。如果適用的話,您也應該包含您對於您的想法在不同平台上的表現所做的任何研究。
一旦討論主題被開啟,BeeWare團隊和社群的其他成員將會回應。核心團隊的目標是在兩個工作天內對您的想法提供至少一個初步印象。如果一個想法特別複雜,更詳細的分析可能需要一個星期。假日和會議等活動可能會導致這些時間略微延長。
這是您參與有關構想對話的機會。我們可能會詢問更多細節或背景。社區的其他成員也可能參與討論,提供其他觀點、建議或反提案。討論結果將決定下一步的步驟。
重要的是要了解並非所有的想法都會被接受。這個過程之所以從提案開始,是為了避免您投入了所有的工作,卻發現您的變更不被接受是有原因的。
這並不表示這不是個好主意!可能有技術上的原因導致無法實現。例如,我們可能會拒絕一個想法,如果:
- 難以或不可能在所有支援的平台上可靠地執行;或
- 難以維護,或維護需要使用尚未普及的技術或軟體;或
- 它服務的是利基受眾,但對其他使用者造成顯著的開銷。
如果我們認為您的想法不適合,這並不表示您應該放棄。雖然我們可能會拒絕某個*特定的想法,但我們可能會更樂意加入外掛介面或其他延伸點,讓您可以維護與外部函式庫相同的功能。這樣您就可以擁有這個功能,但不會因為特定的維護問題或功能限制而對專案本身造成束縛。
轉換為正式的功能請求¶
一旦討論就功能的形式達成共識,您就可以在 BeeWare 問題追蹤中,建立一個新的 feature request issue 來總結討論內容,並連結到討論的上下文。
您不一定要自己實作您的功能提案;您可以開啟一個包含您提案內容細節的問題。然而,單單張貼問題並不代表它會為您實作。您需要等待它有可能被其他對相同功能有興趣的人採納,無論那是指其他社群成員或核心團隊;但這並不保證一定會發生。如果您想要保證實作,您需要自己實作,或是付錢給其他人替您實作。
若您有興趣,可開始實作您的新功能。