自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)者:如何選擇合適的開源庫?

開源
對(duì)于現(xiàn)在的開發(fā)者而言,互聯(lián)網(wǎng)上豐富的開源資源無疑提供了很大的便利。如此海量的資源,開發(fā)者應(yīng)如何選擇合適的開源庫?本文探討了選擇開源庫所需要考慮的八個(gè)方面,為開發(fā)者們提供一些指導(dǎo)。

豐富的開源資源為開發(fā)者提供了便利,但如何在這么多的資源中找到適用自己項(xiàng)目的呢?國(guó)外開發(fā)者Daniel Marbach(他的介紹)在其博客中詳細(xì)介紹了相關(guān)技巧。

Daniel Marbach認(rèn)為利用開源庫可以大大提高開發(fā)速度,他經(jīng)常鼓勵(lì)自己的團(tuán)隊(duì)成員在開發(fā)中選用開源項(xiàng)目。他總結(jié)選用開源庫的技巧如下:

1. 首先根據(jù)自己的項(xiàng)目性質(zhì)選擇合適的開源許可證。

對(duì)你所開發(fā)軟件的顧客和應(yīng)用對(duì)象來說,許可證是否適用非常重要。例如,在受監(jiān)管的環(huán)境下,通常只有Apache2可用。

2. 定義你要解決的問題類型。

例如需要解決的是軟件的分發(fā)、緩存、持久性還是松散耦合?

3. 提煉出問題的mate標(biāo)簽和描述性短語。

例如,如果你需要解決的問題是關(guān)于在多個(gè)機(jī)器中的***路徑,你的標(biāo)簽或短語可能會(huì)是遺傳算法、job-Shop Scheduling、規(guī)劃圖、優(yōu)化調(diào)度算法、最短路徑等。

4. 瀏覽codeplex, google code or sourceforge (github.com 也是個(gè)很有價(jià)值的網(wǎng)站) ,并列出初步篩選到的項(xiàng)目。

例如:在IoC/DI列表里,可以找到ninject, structuremap, autofac, windsor等開源項(xiàng)目。

5. 找到這些項(xiàng)目的主頁,分別查看項(xiàng)目的***進(jìn)展,標(biāo)出那些很久沒有更新或者已經(jīng)停止開發(fā)的項(xiàng)目。

注意主頁上的新聞、發(fā)布通告、提交記錄、網(wǎng)站更新等。我一般會(huì)從列表中刪除掉那些超過6個(gè)月沒有做更新的項(xiàng)目。

6. 到代碼庫頁找到相關(guān)測(cè)試組件。

建議你將沒有單元測(cè)試組件的項(xiàng)目從列表中刪去,也許你覺得這個(gè)要求過于苛刻了,但如果沒有單元測(cè)試,如何能保證這個(gè)項(xiàng)目的質(zhì)量呢?

7. 在項(xiàng)目主頁中確認(rèn)有相關(guān)文檔。

從選好的項(xiàng)目列表中刪去那些沒有文檔、代碼示例或適用指南的項(xiàng)目。畢竟學(xué)習(xí)一個(gè)全新的工具或框架我們需要付出一定的精力,一個(gè)全面細(xì)致的文檔是非常必要的。

8. 檢查項(xiàng)目源代碼是否指定了版本控制系統(tǒng),并查看是否有擴(kuò)展點(diǎn)(extension points)。

理想的開源軟件庫或框架并不限制你使用特定的日志框架或依賴注入容器(DI container)。而多種擴(kuò)展點(diǎn)可以為你提供定制化日志系統(tǒng)、容器等的可能性。

還有其他一些篩選原則,你可以根據(jù)所作項(xiàng)目的需求進(jìn)行考查:

1. 是否附有構(gòu)建腳本(build script)

2. 該開源項(xiàng)目小組是否持續(xù)使用同一集成開發(fā)環(huán)境。

3. 該開源項(xiàng)目是否有清晰的road map。

4. 該項(xiàng)目是否設(shè)有問題跟蹤器(issue tracker)?

5. 是否很快就有社區(qū)補(bǔ)丁推出?

6. 在社區(qū)中,關(guān)于該項(xiàng)目的問題反饋是否迅速?

7. 其他的開發(fā)者是否樂于使用該開源項(xiàng)目,在社區(qū)中關(guān)于該項(xiàng)目的知識(shí)技巧是否很快傳播。

8. 有多少活躍的項(xiàng)目貢獻(xiàn)者?

9. 版本號(hào)管理是否清晰?

10. 對(duì)于來自社區(qū)的具體需求,該項(xiàng)目的改進(jìn)和集成情況?

外文出處:http://www.planetgeek.ch/2010/06/20/how-to-select-open-source-libraries/

【編輯推薦】

  1. 打不贏的戰(zhàn)爭(zhēng) 開源Linux玩不起數(shù)字游戲
  2. 有關(guān)開源內(nèi)部應(yīng)用程序的爭(zhēng)論
  3. 企業(yè)選擇開源CRM不得不說的十個(gè)好處
責(zé)任編輯:yangsai 來源: csdn
相關(guān)推薦

2022-07-25 09:46:25

React數(shù)據(jù)庫

2018-07-25 15:43:27

機(jī)器學(xué)習(xí)框架開發(fā)

2018-10-25 08:00:00

數(shù)據(jù)庫開源數(shù)據(jù)庫開源技術(shù)

2021-01-10 15:29:53

開源數(shù)據(jù)庫數(shù)據(jù)庫

2009-04-01 09:05:34

Java云計(jì)算亞馬遜EC2

2010-06-25 17:42:08

EclipseEclipse 3.6Java

2012-01-16 11:05:22

紅帽PaaS 開源

2018-01-04 22:17:05

Python開源工具

2020-06-17 15:01:30

物聯(lián)網(wǎng)數(shù)據(jù)庫物聯(lián)網(wǎng)數(shù)據(jù)庫

2016-10-08 18:13:55

數(shù)據(jù)庫性能工具數(shù)據(jù)庫管理系統(tǒng)

2017-06-19 16:20:09

數(shù)據(jù)庫性能工具

2018-01-03 09:48:51

Python開源庫工具

2012-06-13 01:23:30

開發(fā)者程序員

2017-04-01 18:00:08

開發(fā)者數(shù)據(jù)庫

2023-04-03 08:00:00

數(shù)據(jù)庫NoSQL

2009-03-20 11:50:44

LinuxSunCommunityOn

2015-09-02 09:40:21

core data工具開源庫

2015-10-19 11:06:42

CoreDate開源庫

2017-11-23 15:06:14

前端數(shù)據(jù)庫開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)