2009-12-28 39 views
2

我需要想出一個更好的方式來管理我的效用函數。目前,功能從其他項目粘貼到需要它們的解決方案中,因爲它們是需要的。絕對不是要走的路。這是一個巨大的PITA!當這些功能由於各種原因而隨時間變化時特別痛苦。如何組織實用功能庫?

我想我想創建一個項目「GenFunc」,並將所有通用工具放置在該項目中。然後,當我需要使用這些函數時,從我的其他項目中引用GenFunc的輸出。這需要我遵守紀律,並努力在GenFunc中創建所有通用函數,但它會使我無法隨時複製和粘貼代碼。

我建議的函數類有什麼缺點?

我想象有多個庫 - 數學,字符串處理,數據的東西,工程材料等

你是如何處理這種情況?我們都有實用程序庫,不是開發項目特定的,對嗎?

回答

0

如果您的源代碼控制庫支持分支,那麼您應該考慮將新庫添加到源代碼管理中,並將其分支到任何需要引用它的解決方案中。

這提供了版本控制方面的優勢。負責參考圖書館的項目的團隊可以決定他們將要編碼的版本以及任何升級的時間。他們可以按照他們決定的時間表將期望的圖書館版本合併到他們的分支機構中。

這也將相反。您可以選擇將對項目範圍內的庫進行的更改合併回庫的主分支,以便其他項目可以訪問它們。

您會在Pattern &實踐here的指導中找到一些更多詳細信息(以及其他選項)。

3

是的,有一個「實用」項目是非常普遍的。在大多數地方,它只是一個單獨的項目 - 不會分解成數學,字符串操作等。如果它變得非常大可能有意義,但對於大多數地方,單個庫運行得足夠好,只需使用項目中的適當命名空間來分割功能上。

我遇到的唯一缺點就是版本控制 - 如果你有不同的項目使用不同的版本,你需要在任何時候都是絕對向後兼容的,或者建立/發佈準確的版本每個項目,這可能是煩人的。

0

你可以做的是說功能庫,然後專門將它複製到你的項目中,除非你可以設計上述功能,而不需要對版本進行小的修改。

這樣,您始終可以確定您擁有正確的版本。

在java中,至少,你也可以編寫你的類,然後擴展它,如果你需要重寫特定的方法。