年后曾给自己定了一张2020年产出目标清单,其中一项是PHP插件开发,基于ThinkPHP的某个框架,不久前这个目标给划掉了。
这里涉及到一个问题,团队开发的模式。
自己虽从业PHP开发时间不短,但所在的都是小公司,小团队,后台开发人员规模多在5人以内,而大多数时候,是一人负责一个项目,至少也是一个完整的功能模块,极少有两个共同开发一个功能的情况,所以没有更深层的团队开发经验。
也曾有幸开发过几个中型项目,考虑到可能的并发量、用户增长、数据规模,一开始在架构设计上就倾向于分布式设计和部署,也尝试过微服务、分布式服务,由于项目并没有发展到预期的程度,所以理论并没有得到很好的验证,还处于探索和实践阶段。
之所以把插件开发目标拿掉,是因为如果团队规模较小,项目不大,且功能规划既定的情况下,个人认为没必要把每个功能模块都做成一个插件,因为这样不仅增加开发时间和成本,也不利于模块间的协同作用。而把那些规划之外的,跟核心功能关系不大的东西拿出来做成插件是可行的。
就拿FastAdmin框架而言,如果团队开发,可以这么做
- 需求分析,规划功能模块,设计数据库
- 架构设计,编写开发文档框架
- 基本框架搭建,代码仓库创建
- 开发规范制定,包括命名规范、逻辑规范、安全规范等
- 使用FastAdmin自带的命令行生成数据库对应的后台文件
- 定义好公用的类、模型、方法等
- 分配功能模块给各个开发人员,每人完善各自己的部分,包括前台和后台部分,同时编写相应的技术文档
- 代码、数据库、技术文档合并
- 整体测试修改