开发我的项目时,不用准守所谓的开发上线规范,随意点也无所谓。而在开发公司项目时,咱们不得不为设立一套规则和流程来进行规范。其目的有三个:javascript
为此,咱们团队在逐步的去探索一套,适合咱们的前端开发上线流程。探索的过程从两方面入手。css
咱们团队的 gitlab 仓库中已经存在近 200 项目,若是各自为政,没有文档、使用不一样技术栈、代码风格也不进行代码校验。那么也就只有写这个项目的人才能进行维护了,换一我的确定是一脸懵逼。为此咱们团队在诸多的技术栈中,选择以 react、react-native 和小程序技术为核心,进行项目开发。html
进一步地,使用工程化的手段,打造 react、react-native 和小程序的种子工程。新建项目时,全部的项目都是以种子工程为模板,在此之上进行开发。种子工程内,集成各类团队内事先约定的库和工具,这样就统一了团队的使用和核心库和工具。前端
react、react-native 数据管理:java
js 代码检查:(Formatting & Code-quality Rules)react
✅eslintgit
git hooksgithub
✅ huskyredux
✅ 编辑器插件(以 VScode 为例)小程序
prettier
vscode-standardjs
示例 WubaRN 种子工程
流程化是提升产品需求持续迭代效率的关键,其背后的本质是分工。前端开发上线流程只是,信息产品(对应工业产品)生产其中一环。能够从三个维度进行分解:
对于产品自己而言,拆解产品需求,分工提升效率。已是在第一次工业革命时,就已经被发现的客观规律了。
扣针的制造就分红了 18 道工序。在有些工厂里,这 18 道工序分别由 18 个专门的工人负责完成。固然,也有些工厂会让一个工人完成 2~3 道工序。这个工厂每人天天能够制造出 4,800 枚针。若是工人们不是分别专习于一种特殊的业务,而是各自独立工做,那么任何人都不可能在一天以内制造出 20 枚针,甚至 1 枚也制造不出来——《国富论》
对于团队合做而言,存在人与人之间的沟通成本,若是不能明确开发步骤和责任边界,这将是巨大的灾难。
对于我的而言,即使缺失几个环节,只要完成任务,别人看起也是无所谓。但潜在的损失在于,我的状态不必定能始终保持高效,任何关键环节的缺失,可能致使事故。好比,缺少沙箱验证,致使上线后页面奔溃。
固然,我讲的都没啥用,由于没踩过坑以前,都感受无所谓。只有本身踩到坑,才会深有体会。
开发流程:
参考:隔壁安卓团队流程(安卓分支管理很复杂,用 github flow 简单介绍):
告诉审核人 code review
由合并人,合并代码
上线流程:
参考:WubaRN 上线流程规范
团队规划