本文系轉載,這些原則在經典圖書Contributing to Eclipse中詳細論述。只是版本很老了,國內幾近絕版。在外掛程式開發中,我個人最常用貢獻法則,有樣學樣法則,適配法則。
擴充者
貢獻法則( Contribution Rule ):一切皆是貢獻。
遵循法則( Conformance Rule):外掛程式必須遵循預期的介面。
共用法則( Sharing Rule):增加,不要取代。
有樣學樣法則( Monkey see/Monkey Do Rule):遇到問題時,首先複製類似外掛程式的結構。
相關性法則( Relevance Rule):只有在操作有可能成功時才顯示你所貢獻的操作。
整合法則( Intergration Rule):要整合,不要分裂。
責任法則( Responsibility Rule):明確指出你開發的外掛程式是問題的源頭。
針對API契約編程法則( Program To API Contract Rule):首先檢查 Eclipse API 契約,然後
針對契約編程。
“其他”法則( Other Rule):讓使用者選擇所有東西,但把那些通常不用於當前世界的選項方在
Other 對話方塊中。
IResource 適配法則( Adapt To IResource Rule):應該盡量為領域對象定義 IResource 適
配器。
分層法則( Strata Rule):將語言無關的功能與特定於具體語言的功能分開,將核心功能與 UI
功能分開。
使用連貫性法則( User Continuity Rule):在多次會話之間,應該保持使用者介面狀態一致。
促成者
邀請法則( Invitation Rule):儘可能的邀請別人為你的作品作出貢獻。
懶載入法則( Lazy Loading Rule):只有在真正需要的時候才載入外掛程式。
安全平台法則( Safe Platform Rule):作為擴充點的提供者,你必須保護好自己,不要讓擴充
者的誤操作給你造成損失。
公平競賽法則( Fair Play Rule):所有使用者遵守同樣的遊戲規則,包括我自己。
明確擴充法則( Explicit Extension Rule):明確說明瓶蓋的什麼地方可供擴充。
發散性法則( Diversity Rule):一個擴充點接納多個擴充。
良好防禦法則( Good Fences Rule):如果要交出程式的控制權,首先保護好你自己。
使用者決定法則( User Arbitration Rule):如果有多個選擇,由使用者決定使用哪一個。
明確 API 法則( Explicit Rule):將 API 與外掛程式內部使用的類分開。
穩定性法則( Stability Rule):如果你已經開始邀請其他人作出貢獻,就不要再改變遊戲規則。
保守 API 法則( Defensive API Rule):只暴露你有信心的 API ,但同時也應該做好準備暴露
更多的 API,因為使用者會要求你這樣做
發行者
許可法則( License Rule ):每項貢獻品都應該提供許可證。