4

正确开始你的前端开源项目

 3 years ago
source link: https://zhuanlan.zhihu.com/p/26534748
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

正确开始你的前端开源项目

前端开发话题下的优秀回答者
题目有一些知乎风,其实开头我就要打脸我自己了,无所谓正确与不正确,一个项目的好坏都是通过很多的细节来一一体现的,那么如果细节累加做到了,那就是一个好项目,很多人有个误区就是我把代码扔到github上就算完事了,其实真相往往并不是那么简单。

简单总结几个常见误区:

误区一:

什么才是前端开源的核心?

很多人觉得我把我的代码扔出去就可以了,我也不管别人看不看,我也不管别人有用没有用,总之我把我的code一扔,就算完成任务,这真的是大错特粗,开源项目不是伸手党的福音,但是它也不能只是你堆砌简历的一行URL。

我认为一个成功的前端工具或者框架项目,他一定是解决了一些其他同类项目无法解决的问题,或者有更优秀的性能,更好的开发者体验或者更优的开发效率,又或者一个成功的前端项目从一开始就是解决了市面上别人都无法解决的问题,痛点,或者某个业务场景,性能瓶颈,或者优雅封装。

如果一开始就把开源项目当成练手,那么结局往往是比较失败的,只有一开始就给项目定位成一个实际的,切实可行的解决方案,那么它很可能结局就大不相同,甚至赢在了起跑线上。

这又和创业何尝不是相通的啊。

误区二:

混乱的项目结构,只关注结果不关注过程

有些人做的工程,往往只关注API部分和代码最后执行结束的结果,总之无论如何,最后我的代码能运行,能跑通,打印无错就没事了,这也是大错特错了。

开源项目和公司内部项目其实本质上的差别就是,公司项目关注结果,当然也关注过程,开源项目往往更关注过程超过结果,为什么这样说呢?

因为过程决定了质量,如果一个项目的质量和性能得不到保证,代码写的一塌糊涂毫无逻辑可言,项目结构凌乱加上没有完整的测试覆盖率,这样的项目就算结果是保证的,谁又敢去用?而开源最终的目的是让别人参与进来一同贡献代码,没有一个好的规范,别人谁又如何参与呢?

所以这一点也是很多人开源项目做不长的问题,代码混乱,别人无从参与下手,第三方对代码存在怀疑,别人只好放弃。

误区三:

缺少自动化集成和测试,项目代码只是一气呵成写完的,之后再也不考虑维护

所谓的自动化集成,其实就是快速搭建起本地项目开发环境,这对于开源项目至关重要,如果别人搭项目环境都需要非常复杂的教程,验证结果也非常困难,又让别人如何有兴趣参与其中呢?至于测试,是保证别人pr的代码不影响已有逻辑的最后一关,我参与pr的很多项目,如果对你的修改部分不额外增加test用例,肯定是不会被merge的,覆盖率不全也不会。这已经是开源开发者的共识。

只有考虑了长久的项目和后续的服务,以及环境集成,才会吸引更多人的使用和提交贡献。

自动化集成的包含的面很广,从第三方依赖的检查,测试用例的执行,浏览器型号的测试覆盖,自动编译构建,版本更新等,这些都是成功项目必备的一环,甚至readme和代码提交量的统计都可以做成自动的。

误区四:

文档和测试用例仅仅是写了,也不够,很多人没有国际化概念

大家都知道,github或者gitlab等开源项目托管网站的用户大部分是全世界的用户,你的项目如果只有中文文档肯定是不行的,包括发布到npm上去之后,可以见到非常多的chinese only的项目,这就阻挡了一部分用户的门槛,虽然很多老外也会用汉语翻译软件。。。

然后就是测试用例的输出,比如describe和it等输出的语法逻辑词不达意,甚至都是和用例完全不贴边的,这也会对使用者造成非常大的误解。

所以标准英文化文档,是非常重要的一关,国际化概念要始终植入开发者的心中(ps:代码注释同理)。

误区五:

不了解gitflow流程或者说自己开发根本不用branch,也不打tag,也不发releases

这里其实无论是什么项目,遵守一定的代码管理规范和开发规范,才能最小化影响用户,最简单的例子,主干上的修改肯定会影响一些新用户的使用,如果文档和用例不及时增加,那么最后导致的就是别人会觉得你的项目充满了bug。

框架,工具也是工程,工程管理的需求依然十分强烈。

误区六:

项目不再维护,或者没有精力维护,俗称挖坑

挖坑不填很多人都有这个毛病,或者自己的项目没有遇到bug,别人使用后提了bug,根本不看不管,这些都会导致用你的项目的人越来越少,看看Vue.js的成功经验,就是作者常年在一线issues中摸爬滚打,这也是一个优秀项目必经之路,当然我有时候也死在这一步上。

误区七:

酒香也怕巷子深

很多人写了非常牛逼的代码,做了非常完善的测试和文档,但是就是好于面子,根本不宣传,总觉得别人能够搜索到,其实并不是的,好的项目配套好的运营才能让更多人使用和接受,口口相传才是王道,如果你自己都不推广自己的项目,还怎么好意思让别人帮你宣传。

优秀的项目不怕被分享,该去发文章该去找用户这些都是一个成功开源前端项目的必经之路!

ok,以上7点都是我根据我的live大纲总结提炼出来的,这篇文章只是预热,到底如何避免和操作这几大误区,我的live本周六晚上,我针对以上几大误区和我的个人经验,会再一一详细解答。

希望上面的这些内容能够吸引你走进开源的世界,也欢迎分享我的live:知乎 Live - 全新的实时问答


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK