开发和维护个人开源项目之徽章收集
常常在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。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。