開發和維護個人開源項目之徽章收集
常常在github
、npm
上看到一個個花花綠綠的badges
,這些已經成爲了開源項目的標配。
這是一篇介紹徽章的文章,同時後面會貼出demo(get到常用的badges
)。希望對你也有幫助,歡迎評論或者提issues
交流。
決定是否使用一個開源項目,最基本兩點:
- 是否滿足需求;
- 項目質量如何。
本文要介紹的徽章就是項目質量的體現之一,它有幾個好處:
- 體現項目當前質量;
- 體現項目自動化程度(迭代開發效率);
- 體現項目當前使用情況。
看下Vue
的徽章:
這些徽章不僅使README.md
更加美觀,通過它們我們也可以獲知Vue
的構建狀態、測試覆蓋率,使用情況,最新版本號等等。我整理了一下比較常用的進行了簡單分類。
常用徽章
代碼相關
-
是否構建通過,可以通過持續集成工具獲取。
Vue使用的是CircleCI,我用的Travis CI。
構建過程,可以看下Vue
的配置文件.circleci/config.yml。大致是:下載依賴 => 代碼lint => 測試覆蓋率統計 => 端到端測試 => srr-weex測試 => 迴歸測試 。 -
測試覆蓋率統計,數據來源上面的構建過程,將跑完的結果發送到對應平臺。
Vue使用的codecov.io,我用的 coveralls.io 。 -
代碼質量分析,通過 codebeat.co 獲取。這個是獨立的,從複雜度,代碼複用等方面進行分析。Vue沒有上這個徽章。
應用程度
其他的徽章就都可以從shields.io上直接獲取了,裏面有很多很多的徽章。 選擇相應的平臺,填寫好鏈接,拿到數據後,shields.io 就能幫你生成相應的badges
,還可以進行自定義。
-
github
數據 -
下載量,一般使用
npm
的下載數據。
其他
-
npm
上項目的當前版本 -
證書
-
文件大小
這些徽章的數據都是動態實時的。代碼相關的幾個徽章,在倉庫有變動時會自動構建分析,從而生成新的數據。
總結
我覺得最重要的是代碼相關的那三個徽章,有點ISO9001認證的感覺,這也正是我們想要的 :) 。最後上個demo,折騰這個demo花了三四天時間,主要在配置karma時繞了很多彎路,點我查看demo。