編寫套件:有關依賴關係的最佳實踐

編寫套件:有關依賴關係的最佳實踐

某些依賴關係對於套件的基本功能來說可能是明顯且必要的。但是,那些需要載入額外外部套件的次要功能又如何呢?澄清一下:我知道「添加太多功能」是初學者常見的錯誤。我絕對不是一個經驗豐富的開發人員,但我也不會考慮完全任意的功能。

舉一些例子:

  • 新環境包含一個(可選)日期欄位。可以設定為“今天”,固定為某個使用者定義的日期,或完全省略。這將需要 datetime-package。

  • 類似地,縮寫列表欄位。這將需要詞彙表包,如果用戶不需要它,這似乎是一個相當大的包。

  • 我想為這個包提供某種頁面樣式,但讓用戶決定是否要使用它。這需要 fancyhdr 包。

  • 還有更多。

我的問題是:

  • 我是否過度擔心優化,而應該繼續依賴可有可無的功能?

  • 我可以有條件地載入這些套件,例如僅將“RequirePackage”放置在依賴巨集內嗎?或透過套餐選項?

  • 如果使用者決定自行載入這些軟體包,我可以添加對這些軟體包的支援嗎?我該如何最好地通知他們這件事?

  • 我應該完全刪除這些可有可無的功能嗎?

相關內容