2010-06-02 30 views
3

當我們每個人都用java編程時,他需要一個庫(一些罐子)來完成他的工作。 所以當這個程序員找到他需要的庫時。他怎麼能找到這些庫的最好的?如何選擇開源庫?

謝謝。

+3

選擇您最喜愛的搜索引擎? – 2010-06-02 18:21:18

+0

不知道你在問什麼......也許你想要一個開放源碼Java庫的中央資料庫?是否有一些您想要的特定功能,或者您只是在尋找一個存儲庫,比如CPAN(但是用於Java)? – FrustratedWithFormsDesigner 2010-06-02 18:21:27

+1

http://java.net/有很多開源的java項目... – npinti 2010-06-02 18:28:24

回答

3

我不用Java編程,但我確實需要爲C++和Python尋找庫,這是我的支柱。

我覺得有些標準就可以申請到的東西,你找到關於谷歌或社區網站,像這樣與java.net包括以下內容:

  1. 記錄如何以及是這個項目?它只是API文檔嗎?它有樣品嗎?他們是記錄還是隻是吐出?有教程嗎?
  2. 什麼時候是最後的穩定/不穩定/測試版本?版本控制日誌是否指示項目中的活動? (Google Code projects在顯示項目活動的頁面右側有一個指示符)他們的郵件列表是否處於活動狀態?很多人會問一些問題並回答問題嗎?開發者是否在他們的郵件列表上討論
  3. 是您喜歡的API嗎?這既是個人喜好又是客觀衡量的問題。例如,對於C++ GUI,有些人更喜歡wxWidgets的API,而有些人更喜歡Qt的API,並且每個人都有更高的生產力,但也有充分理由客觀地相信爲什麼他們是比其他API更好。
  4. 該項目是否「有名」?這種情況有點不確定,因爲它依賴於羣體思維,但是根據他們是如何「着名」或「知名」或「廣泛使用」來考慮項目有一些優點。它有幫助,因爲這通常是可靠性的指標(重點在通常,即不總是)。社區可能會更積極和知識淵博。你可以利用現有的已經熟悉這些API的程序員,僱傭他們或者招募他們等等。例如,我想除了通常很好以外,很多人會用Lucene作爲他們的文本搜索系統,因爲它被非常廣泛地使用。
  5. 該項目有多成熟?它是在阿爾法?測試版?預發行?有時你會找到一個你真的很喜歡的圖書館,但它非常原始。根據項目的性質,您可能需要重新考慮使用它。

所有這一切說,通常找到好的Java庫的好地方可能是ApacheGoogle發佈的項目。

這就是我現在所擁有的。帶上一小撮鹽。如果我還有其他東西要添加,我會編輯這篇文章。

希望這會有所幫助!

1

我很少需要額外的「通用」庫。如果在你關注Apache的時候就是這樣的話 - 有一些像那樣的團體一般做得很好,但是你可以像普通的圖書館那樣獲得大部分的東西,你可以自己寫儘可能快地學習使用他們的東西。

偶爾我需要一個特定的庫,比如SNMP庫或者其他的東西來提供一個特定的服務 - 這些實際上是需要的,因爲重寫它們會讓人望而卻步。這些對於正確選擇來說更重要,但通常沒有太多選擇,如果你不這樣做,同事幾乎肯定會有一些經驗或意見。

研究像這樣的東西應該是每個項目的預定部分 - 在項目的早期階段需要確定研究的需要。