参与华为Devui开源组件库的感受

3,351 阅读7分钟

前因

在一个月黑风高......走错片场了。在一个风和日丽的早晨,偶然的在掘金平台看到了Devui正在为社区招募Contributor。在此之前还从未参与过开源,毕竟开源——脑子里就冒出了辣个被称为祖师爷的男人,那不是大佬们的专属铭牌嘛。ok,fine,报着学习的想法就加了devui的官方群,谁又不想为简历上优秀的经历增砖添瓦呢,况且还是华为名气这么大的平台。在这个疯狂的大内卷时代,不想成为代码王的程序员不是一个好的外卖小哥。

11.png

参与

上面的表情包搞了半天不能居中好难受~

或许大家有过这么一个想法:一家公司待个两年,把技术摸透了过后就觉得个人提升不了什么了,是不是该jump jump一下了。其实提升技术的途径除了公司的技术学习,平时的课外学习也非常重要,可能有人会觉得公司的压力大呀,自己学没压力没动力呀。那么参与开源就是一个非常非常nice的方法。要压力这里有(更多的是一种责任感吧),更有最新的技术学习,百利而无一害。另外再提一句:

凡事先做再想,只要你认为这个事情有意义,不要去考虑能不能坚持,自己能不能胜任,先去做,让自己走在道上,让压力驱使自己前行。伸手摘星,即便一无所获,也不至于满手污泥。

参与Devui开源的步骤

加群

感兴趣的小伙伴可以添加官方微信号devui-official。让小助手拉进群,有不懂的不管是开源库方面还是平时的“疑难杂症”,都会有很多大佬指点。

关注组件田释放

现阶段所有的组件田都已经有人认领了,但是并不是说没有机会参与进来。因为有一些田主(组件的开发者)可能时间原因长时间没有对组件开发,该组件就会释放。组件田的认领与释放已经来来回回好多次了,机会大大的有。

认领组件

认领组件只需要到devui 库下方评论认领即可。因为考虑到github网络原因经常无法提交,所以是托管在gitee上。

image.png

提交代码的步骤

fork

首先将组件库fork到自己的中仓库中

image.png

之后到自己的仓库中查看,可以看到库的前方已经有了自己名称了。之后我们所有的代码更改和提交都基于此库

image.png

开发组件

小伙伴在开发的时候需要特别关注一下wiki里面的说明,链接在此devui-cli 功能介绍。特别是devui-cli里面的内容,因为有一些文件为了防止多人协同开发是重复提交引发的冲突,并没有加入的代码跟踪中,是用脚本自动生成的。 另外值得注意的是开发中的:

scss:语法使用,命名规范,全局变量的使用都需要统一
vue3:必须使用 composition api + tsx 进行开发
文档md: 写好了组件需要相应的文档说明

以上内容都会在检视有问题时被指出。另外并不是说一定要开发完成组件才允许提交代码,可以先完成一个完整的小部分功能,这样既可以减小检视人员的浏览量,也可以方便之后的开发。

commit and push

commit和push都是基于我们fork过后的库。有些人会疑问怎么push时提示没有权限呢,那是因为你是在为源代码库提交,当然是不允许的啦。

提pr

终于到大家最感兴趣的提pr环节。当我们提交完代码过后,可以在自己的组件库中查看到更新,如下:

image.png 红色框说明我们已经把更新提交上来了,然后就可以点绿色框提交pr了。

image.png 然后将此次更新的内容和标题填上就可以了,并且可以在下方的文件改动上查看此次更新的内容。另外值得一提的是一次pr只需要提交一次,当检视未通过时,需要修改完代码再次提交,此时不需要再次提pr,只需要把更改过后的代码push就能自动覆盖之前的记录了

检视

可能有的小伙伴是第一次听到这个名词,检视的过程就是一个代码审核的过程。虽然还无法达到说测试般的找bug,但是会将代码中的明显错误指出来。并且保证库的整体风格、代码水平都有一个可靠的程度。在此得感谢参与检视的人员~

成长

由简入深

组件最开始我选择了3个组件,分别是search,cascader,categorysearch。考虑的就是从简单组件开始,熟悉了开发的套路过后再开发难的组件。然而我太高估了自己的技术和时间了,以至于后面放弃了categorysearch。现在依然感到可惜,当然新的小伙伴参与它的开发之后会发现与search组件关联,到时候联动开发也是一种不错的体验。

参与管理

大概是Kagol大佬看我比较活跃吧,就将我拉进了管理群,参与对组件库的建议讨论,最新技术讨论等等。有一次大家在讨论文档的代码展示暴露的问题,以至于页面篇幅过长,我就提议了使用vitepress-theme-demoblock插件,它可以将代码收起来并有具体的组件展示。最后大家也同意使用此方案,深感荣幸。并且因此,我还特意去研究了该插件的源码,甚至还给该插件提过几次pr以及issue。

参与直播

Devui团队杨村长在进行开源分享,会不定时在B站进行直播。具体可以查看跟村长老师做【Vue DevUI 开源指南】直播一个月的感受

我也有幸参与了一次,其实开始也是很忐忑的,从没有参与过类似的活动。说不紧张那是不可能的,但是最后直播下来个人感觉还是挺不错的,是一次很新奇的经历。

参与检视

检视别人的代码,不仅是对组件库的代码审核,更是对自己的一种查漏补缺。哪怕你已经很优秀了,但是要明白总有人比自己更优秀,多看看别人的代码,考虑别人的实现方式实现思维实现技巧,最后取长补短。参与检视不是说只能管理人员进行,欢迎所有人都可以参与进来检视。想要参与检视可以找到某个pr,拉取完该pr过后检查代码然后在最下方评论即可。

image.png 可以使用红色框的内容直接fetch该pr。然后运行查看代码情况。最后评论即可。

image.png

感受

开源不易,做一款成功的开源更不容易。感谢为Devui开源做贡献的每一个人。哈哈,好像我只是作为参与者不足以感谢,但是他们确实驱使了我的进步。Devui团队的人员还给所有的Contributor发了小礼物,也就是封面图,一个非常nice的抱枕。

最后

给正在慵懒的你

盛年不重来,一日难再晨。及时当勉励,岁月不待人

给正在奋斗的你

心若有所向往,何惧道阻且长

加油吧,少年郎