关于技术部门并行开发的几点思考
目录
首先,明确我们的痛点在于无法并行开发多个版本的app。关于技术部门的应对方式,现思考解决方案如下:
- 插件式开发
- 模块化设计
- 责任追溯
插件式开发
插件式开发即将项目中的通用模块进行拆分,然后分配给专门的人员进行开发,通用模块插件也是软件的核心内容。可单独拆分成独立且易于迁移的模块,在开发新的app或者进行代码迁移的时候就能够很方便的进行重构,不会牵扯到太多的细节。
模块化设计
模块化设计建立在插件式开发的基础上且依赖于项目架构,将各业务模块单独分离,达到灵活拼接与拆分业务逻辑的目的。
责任追溯
不管是通用模块的插件式开发还是业务模块的模块化设计,都是以责任追溯为目的。某个模块出了问题可以方便地找到对应的责任人,代码交接的时候也不会出现牵扯不清的情况。
总结
关于前两点,做到代码充分解耦,应该是每一个合格的开发或架构人员都应该去考虑的问题,可由各技术部门主管推行实施。同样的责任追溯也可用于其他部门,产品在没有理顺自己的思路就交付设计与开发部门是不负责任的行为,开发没有自测就扔给测试也是不负责任的行为。共勉。
实施方案
- 使用阿里巴巴Java AS规约插件:
Alibaba Java Coding Guidelines
- 使用统一规范的类注释,注明作者
- 统一代码架构,命名规范,包路径等。模板式开发
- 代码清洁:冗余代码直接删除不进行大块的注释,要想恢复可从git记录导出
- 新需求的说明:每个组员都需要知道本次需求的具体内容及负责人,即使该部分内容不由该组员负责
- 全员问责:每个组员对其他人每次提交的代码都可以进行review,有问题直接提出。