介绍
混合团队,既有分别擅长前端/后端的成员,也有全栈成员。那么,这时候我们就推荐以前后端分离模式
为主线,再以业务模块为单位
做进一步拆分的合作策略
场景
假如我们有一个项目cabloy-demo
,可以将业务所涉及的前端界面和后端逻辑拆分为三个业务模块,分别是demo-modulea
、demo-moduleb
和demo-modulec
,分别由成员A
开发前两个模块的前端,由成员B
开发前两个模块的后端,由成员C
全栈开发模块demo-modulec
,最后由成员D
部署
成员 | 任务 |
---|---|
成员A | 开发前两个模块的前端 |
成员B | 开发前两个模块的后端 |
成员C | 全栈开发模块demo-modulec |
成员D | 部署 |
基本思路
-
以
前后端分离模式
为主线 -
以
业务模块为单位
做进一步拆分
因此,以下环节的探讨将围绕成员C
进行,其他成员的合作机制,请参考:前后端分离团队
代码分割
1. 创建模块
成员C
创建业务模块demo-modulec
- 1$ npm run cli :create:module demo-modulec -- --template=module-business --suite=
- 参见:模块化体系与新建模块
成果分享
1. 成员C与其他成员
由于成员C
是全栈,而其他成员是前后端分离,因此,成员C
需要把模块demo-modulec
的前后端代码单独编译打包,然后将输出成果分享给相应的成员
- 1# 模块前端
- 2$ npm run release:front demo-modulec
- 3# 模块后端
- 4$ npm run release:backend demo-modulec
- 关于如何分享,以及release命令的说明,请参见:终端命令-团队开发相关
代码调试
1. 成员C
- 选项1:一般而言,一个模块作为全栈开发,往往具有
高内聚低耦合
的特点,可以在本地独立进行开发与调试- 当遇到与其他模块进行耦合的情况,可以采用模块检测机制进行兼容处理,参见:全栈团队
- 选项2:可以参考前后端分离模式,访问其他成员主机提供的
前端网页
和后端服务
,进行项目联调
项目部署
成员A
、成员B
和成员C
把各自的业务模块编译打包之后,分别分享给成员D
,成员D
进行常规的部署工作
- 参见:项目部署-构建与运行
评论: