开发编码流程

工作8年,从接到任务后,直接写代码,边写边想。到先设计,后编码。代码质量感觉是越来越高。这个只是我的个人感受。

从宏观上,程序就是输入输出。输入设备有很多,输出设备也有很多。简单的电脑,输入就是shell命了,CMD 命了。输出就是显示器,有了图形化界面后就好很多,算是用户视觉体验的升级。交互的升级。

说这些的目的是什么?因为交互大体就分两种:

1、一种是视觉上的,像颜色,动画。

2、另一种是输入数据和输出数据。对于web等,数据有分两种。一种是接口请求的参数和响应参数;另一种就是通过一个登录状态的id,像sessionId、token这种,到服务端后,维护很多数据,比如userId、权限id,这样有很多数据,界面上不能直观看到。

总之:接口会影响到交互体验、

现在开发流程就是,产品根据用户需求出原型需求,开发编码,测试或质量确保没问题。在产品原型阶段,就要达到各方能对软件的认识一致。质量或测试要保证软件质量。

但这个流程,产品和开发的边界不明确的话,会造成来回的扯皮。现在个人感觉,产品出原型,要保证视觉上的理解一致,还要出接口文档,普通的CRUD接口简单,大部分能理解一致。但复杂接口,就会有理解差异。接口会影响到交互体验。

质量部门,比较强的话,整个开发过程都是参与的。

个人认为,现在的流程是: 

1、需求阶段,产品经理根据需求,出原型。如果产品经理够强大,出接口文档。如果不行的话,先保证视觉上理解一致。然后程序猿根据需求,想好接口,一些复杂接口需要有时序图来梳理。在需求评审上跟产品核对完。确保各方理解一致。 测试或质量 需要参加需求评审。 这个阶段的文档,需求文档,产品原型,接口文档,接口的时序图。

2、程序猿设计阶段,程序猿设计数据库,开发框架(决定了程序大体的数据流转,比如像Controller到Service到Dao),类图(想用设计模式什么的就搞起来),一些复杂业务流程的时序图,部署图,如果能考虑到redis缓存,就维护个redis key定义文档,讲明什么时候创建 更新 移除,数据量的增长特点等。 这个阶段的文档,UML设计文档(包括数据库设计文档,类设计文档等)。 这个UML能否反向工程,个人觉得无所谓,不需要能反向工程直接生成代码。

3、编码阶段。这个时候就是复制粘贴就是干了。

4、测试阶段。

程序猿设计阶段需要多长时间?差不多5天左右就可以,不能超过7天。在过程中,因为考虑不周,难免会返工,比如程序猿设计阶段,发现接口文档需要变化,等等。

聊一下编码

我是先建Controller类,控制器里的代码写不写,先把接口写上去;然后数据访问层代码;之后写Service和Controller中的代码。在写业务逻辑的时候,可以先把自己要实现的逻辑,用文字描述清。这样按部就班的写代码就好。

基本就这样了吧

原文地址:https://www.cnblogs.com/chengjunchao/p/10874811.html