从0到1实现VueUI库思路

组队

UI 库是很庞大的一个项目,若是我的开发,会很占用个人业余时间,因此我想到了组队,便在掘金发布一个这样的事情,很快便召集了20多个前端加入进来。css

scrum 敏捷模式

这么多人加入,怎么样的流程管理能保证项目有效进行,让他们按时按量完成任务,最后保证进度,此时我采起了如今很流行的 scrum 敏捷模式来作流程管理。前端

选用 tapd 管理工具

国内有不少工具来作 scrum 敏捷模式管理,经投票决议而定,最终选用 tapd。git

分出角色

既然打算作一个大型项目,那么就应该有项目经理、架构师、前端工程师、设计师、产品、测试等角色。github

创建迭代 1

我本身担任了产品和项目经理的角色。做为产品,迭代 1 我提出的需求很简单,实现 16 个基础组件,大概是每一个参与开源小伙伴,一人一个组件的量,很轻松。npm

迭代 1 的开发

作一个 UI 库项目,迭代 1 的开发任务相当重要,它是一个项目的源头,若是源头没有思考清楚,后面迭代将会是灾难性的。进过咱们爬过的坑,我认为迭代 1 的开发应该作好以下几件事情:微信

  • eslint 策略
  • 制定代码规范,例如 css 只能采起 BEM 命名规范
  • 单元测试
  • css 架构
  • 分支管理策略,如何让多人开发,发生代码冲突几率最小
  • 搭建 UI 库官网,能够写组件 API
  • 作好 pr ,这是保证代码质量最后一关

若是其中一个没有提早作好,咱们能够想一想后果,例如 css 架构在迭代 1 没有搭好,后面迭代 x 才去搭建的话,那么全部 css 都得按照新架构从新写,这是个巨大的坑。markdown

迭代 2

迭代 2 需求依然是作一些基础组件。我着重说下迭代 2 的开发任务,除了实现需求,架构师将重点放在了项目架构上,主要作了以下事情:前端工程师

  • 引入新的 eslint 策略,让 eslint 仅检测本身 commit 的代码,无论其余人代码,避免代码冲突。
  • router 全由命令行控制一次性导入,这样不须要每一个人手动将写好的组件添入 router 中
  • 用命令行生成一个组件模版,无需每次开发组件都去新建文件

迭代 2 其实就是将不少开发上无心义的活,让命令行自动执行了,让咱们将注意力放在正确的事情上。架构

迭代 3

有了前面两个迭代的基础,迭代 3 仅需按照已有规范继续开发新的组件便可。工具

迭代 x

此后迭代不断新增,不断优化组件,直到库中组件已实现足够多,也能够用此库写一个完整项目了,即可以发布第一个版本 npm 包了。

开源项目地址

地址

想参加开源?

如今项目还处于迭代 3 ,初步阶段。若是想参加开源,加我我的微信便可:fcsboy (非诚勿加)

或者扫码:

相关文章
相关标签/搜索