加入WangEditor团队的一个月

6,976 阅读5分钟

【复盘总结】加入wangEditor的一个月

加入wangEditor团队满打满算也有一个月了。简单的做下总结,记录一下这一个月的所闻所想。

这篇文章将从三个方面展开叙述:

  • 加入wangEditor团队的初心
  • 学到了什么
  • 产出了什么

为什么要加入wangEditor

首先介绍下自己,本人目前本科在读大三,入门前端已有一些时日。从前端三板斧到前端工程化,将社区热门框架蜻蜓点水般的学习过后,来到了自己的一个瓶颈区,简单来说就是不知道应该继续学些什么了(臭不要脸的说一句,我学习自驱性还是蛮强的,没东西学就想找点东西学,有点闲不下来)。我突然意识到自己的眼界有点狭隘,像一只井底之蛙,看不到外面的世界,只能被动的跟风学习,别人说什么东西好,就跟着去学,像一具没有灵魂的躯壳。

机缘巧合下,我的朋友向我推荐了wangEditor开源团队(他本身也是团队的一员),建议我加入到这个开源团队中,这对我或许有些帮助。我意识到突破瓶颈的时候到了,因为对很多在校生而言,缺乏项目经验是很普遍的事情,我也不例外。因此我抱着学习以及尝试的态度,参加了wangEditor的入队审核。

十分幸运的是,我成功通过了入队审核,加入到wangEditor大家庭当中。在加入团队的一个月中,学到了很多知识。在此我要感谢一些人:感谢老大给了我加入wangEditor团队的机会,以及接受了我一些提议;感谢我的组长在这一个月对我的照顾,为我review代码并提出很多意见;感谢我的好兄弟陪我走过第一次开发流程;感谢wangEditor的全体成员,在摸鱼群里的对话让我无时不刻都能增长见识

我学到了什么

完整的开发流程

这是我感受最深的一个,在进入wangEditor团队后,第一个要做的事情就是熟悉整个开发流程,这对于一个从来没有正经参加过项目的"小屁孩"来说,是十分新奇的。不像平常自己整蛊一些玩具项目的时候,想改就改,改完就往仓库上push。真实的开发流程其实要复杂且完善的多,就比如我们开发会分成好几个过程,分发issue,开发自测,交叉测试等等。在push代码之前,还要注意自己是否有多余的commit,要将其合并起来。

各种优秀的技术解决方案

在我们团队中,有一个技术方案知识库,里面沉淀了许多前人在遇到问题后,细心调研,总结,沉淀下来的技术方案。每一个都是真实的业务场景,并且给出十分优秀的解决方案。在这里,我中学到了很多关于富文本编辑器领域的前沿知识。

优秀的软件设计

这就不得不吹捧一下我们老大了,我们项目最开始的时候好像是由老大一个人建立起来的。代码结构十分清晰,扩展性非常的强,这点在我接收issue后去修改bug/扩展功能的时候最能体现出来,往往只需要修改/添加一两行代码就可以搞定一个任务。感兴趣的小伙伴可以自行查看我们的团队仓库。源码中很多地方值得学习,代码结构就是一方面,一个清晰的代码结构可以让我迅速从全局的视角洞悉wangEditor的架构设计。

我产出了什么

从项目中汲取知识,然后尽自己所学回馈给项目,这才是一个开源团队开发成员应该秉承的宗旨。 在经过几次issue的处理后,我也逐步理解了源码架构,同时也意识到了我们团队项目目前面临的挑战。

从我们团队github上的issue-project可以看到,issue待分配那里永远不可能为空,这也就意味着我们的需求和bug是数不尽的。当然了,这对我们来说反而是一件好事,有了用户的反馈,我们才能做出更好的开源项目。最要命的不是这个,而是我们的项目随着功能的增强逐渐会演变成一个"巨石项目" —— 代码复杂度越来越高,不同功能杂糅在一起,使整个项目越来越难以维护。

为此,老大提出了插件化的方案,将项目分成三部分,wangEditor = 核心core + menu + plugin。

在此之上,我提出了自己的插件化想法与实际落地实现。与老大的方案不同,我提出了wangEditor = 核心core + plugin想法(即core + anything = everything),除此之外,我模拟出了wangEditor的整个生命周期链,最后补充了如何扩展来支持不同的embed的方案。

该方案被老大以及团队的小伙伴们认同,我也被承诺做完插件化设计之后,就从实习期的成员直接变身为团队的核心成员之一。

写在最后

wangEditor是一个非常棒的开源项目,可以看到现在已经是V4版本了。github上的star以及破万,CDN月下载量百万。可以说,在富文本编辑器领域,我们是走在最前沿的。目前,我们团队还在努力,相信做完插件化后,wangEditor将会变的更好。

最后,如果你对富文本编辑器以及开源项目感兴趣,欢迎加入我们。如果你对当前自己的前端路程感到迷茫,加入我们,也许能成为你的一个转折点。

如果你有任何问题,也可以联系我,加我的qq或者私人微信,在能力范围之内,我会尽力帮你解答:

  • QQ: 1272698173
  • WeChat-ID: YM_coke