开发规范流程
开发步骤
第一步:
项目/系统开发,确定项目边界和业务,当然是通过需求文档来确定,有明确图文/标准最好
实际生产是逐步明确,那要有个框架体系,在框架中逐步明确。
使用写书来类比,就是先确定这本书的涵盖范围/传授知识点;写出对应目录;然后对应目录填充内容。
这就是框架,内容最容易变化。
使用什么表达方式(推荐是图文,成本低+传达意思明确)
第二步:
整理输出完需求文档后,开发人员清楚要做什么后(ps:清楚的程度就要看需求文档的质量和开发人员的理解能力和双方的沟通能力),就可以进行评估,然后设计开发了
技术选型
架构设计(架构文档)
数据库设计(数据库设计文档)
接口设计(接口文档)
目录规划
代码注释(这也算文档)
这个时候该理解清楚的理解清楚,该输出开发文档的输出开发文档,该算工作量的算工作量,该写代码的去写代码
第三步:
开发后进行测试,测试人员要理解清楚需求
第四步:
测试完成后部署
部署后完事,等下一步迭代
这个下一步迭代,如果还是同套人马,那理解起来快(毕竟设计是自己写的,代码是自己写的)。如果换人接手,那以上提供的信息量足够接手开发者理解清楚(花些时间)
示例
以上说的是个大概,给个具体示例更好的展现说明(不然看了上面=》哦,哦,然后呢?)
建个git库,代码文档都放在git上,也好追述历史(当然一般都不看历史)
git目录规划
/doc/ =》 放各种文档,建子目录更好区分文档或脚本
/src/ =》 源代码,这里后端选型是springboot,就按springboot的目录规划
/readme.md =》 readme
基本文档类型,画图我就使用visio,图文用markdown,mysql数据库脚本用sql
现在要开发个电子档案系统,目的是将档案数字化,方便查询,检索,复制,传递,阅读
需求文档,图文,用Axure还能画图交互效果,放到/doc/ 目录下
根据需求文档,上面给的需求文档后详细了吧,有图文说明,交互效果,该问明白的问明白
清晰需求后,就可以技术选型了,选择springboot完事
架构设计,这要根据非功能性的要求设计(用户量,并发量,响应时间。。。) ,架构文档放到/doc/ 目录下
数据库设计,根据需求文档的各个细节,表注释,字段注释,能写详细就写详细,数据库设计文档放到/doc/ 目录下
接口设计,接口文档放到/doc/ 目录下
源代码目录规划,因为采用微服务思想,源代码的目录规划很简单的,不会嵌套目录的,也不会过多目录
搭建环境(使用docker搭建环境),写代码实现,单元测试
开发后进行测试,测试人员要理解需求后进行测试
测试完成后部署(我使用docker部署)
下一轮开发,因为上面有充足的文档(信息量足),所以你能理解和继续开发
需求文档更新
数据库设计更新
接口文档更新
源代码编写更新
测试
开发后进行测试,测试人员要理解需求后进行测试
测试完成后部署(我使用docker部署)
反复循环
等利益驱动做下一次技术升级,架构升级,重新设计,重构等等