我目前正在開發一個項目,使用另一個部門開發的框架作爲基礎。我們目前正在爲我們的部門引入質量標準(最後,耶!),但目前不可能將這些質量標準引入其他部門。因此,我們正在努力克服一個持續不變的目標,而不是穩定的API或穩定的版本,這至少是壓力。如何管理Perl模塊依賴關係?
由於我們試圖首先解決問題,所以我們希望儘可能保證自己能夠抵擋「上游」a.k.a.框架代碼中的更改。我們設想了硬件模塊依賴關係:
- 僅使用特定版本範圍的框架模塊,在代碼中定義。
- 使用單元測試檢查來確保所有必需的版本仍然可用。
- 每個版本範圍擴展需要對框架代碼進行同行評審。
這是迄今爲止的計劃。現在的問題:
- 明智嗎?如果沒有,還有其他想法?
- 如何在Perl中實現這個?使用
use Module
,我們只能定義應該使用的最低版本代碼。
CPAN不穩定,因爲你不能阻止任何人做任何事情。一個特定的模塊可能完全沒有bug,但即使是一個接口更改也可能會破壞依賴它的代碼。罪魁禍首是CPAN工具鏈的設計,其中最新的版本是客戶端試圖安裝的版本。 – 2009-07-31 17:27:07