本文系轉載,這些原則在經典圖書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 ):每項貢獻品都應該提供許可證。