对日企软件项目的一些思考

0.一切以设计书为准

在项目开工之前,需要撰写一份详细具体的开发设计书,每个页面一个设计书,并且有通用部分的设计书,在设计书完全确定后再进行项目的开发,后期修改功能如果需要修改设计书,需要和客户确认后先修改设计书再调整代码。
设计书具有 修改履历,页面布局,每个功能的数据流,详细数据流,用户权限表,CRUD图,数据库更新表,数据库读取表,修改部分用红色标示,具体到每一个点。

1.Thymeleaf 数据显示

取代html或jsp,使用Thymeleaf

2.配置文件配置用户权限

设置查询最大值
比如说设置5个用户权限的编号,然后在数据库中设置每一个用户的编号,来进行权限的校验

3.业务执行的日志记录

在配置文件中加入数据库的记录,每个数据库操作进行记录,并呈现在开发者console上

4.通用数据库语句放在数据库表,分类获取

大批量的语句存放在数据库,动态存取进行CRUD

5.多语言通过配置文件

配置文件可以更改系统的语言

6.多配置文件设置测试端,开发端及客户端

多个配置文件比如说: dev1, dev2, dev3 配置多个数据库,测试用,开发用等

7.跳转路径由一个接口负责

跳转路径通过一个接口,调用各自具体接口实现类的类跳转方法

8.设置每个页面每个功能的编号,输入输出编号依据编号创建

每个类都有独自的编号,譬如大功能PSV001,小功能PSV001S01
同样的,每个页面按照编号进行命名
类编号唯一,分工明确,后期出现问题可以根据编号快速定位

9.提交表单与输入输出Bean解藕,使用深拷贝传递数据

创建的数据结构并不唯一,每一个页面的每一个功能都有两个bean
一个InputBean,另一个outputBean;
每个页面的每一个Form表单都有一个Bean,
首先后台通过Controller取得表单Bean,再制作对应service的InputBean,
service返回的outputBean再进行使用,避免操作表单Bean,数据解藕

10.大层分为Common, Controller, Model, Repository

此处列举一下常用的项目结构
Common -> Aspect
-> Bean
-> Exception
Controller -> Bean
-> Web
-> Utils
Model -> Bean
-> Service
-> Utils
Repository -> Bean
-> Dao
-> Utils
首先Common是项目通用到的一些Bean,Filter等,具体是放一些全局类的东西;
Controller是控制器,存放接收方法,表单Bean
Model存放service服务,以及输入输出Bean
Repository存放数据库层,对应数据库结构Bean,以及DAO
四层从上到下是由浅入深的关系

11.Repository层的数据库DAO分为Repository, Reposity Custom, Reposity Impl(实现)

具体是进行数据库操作,分为原生JPA(findById等),自定义Custom,以及Custom继承类具体的实现

12.所有表单继承BaseForm, 定义基本画面id等

所有的表单Form都有自己的编号,继承自Base,并且,每一个画面具有ID,用于通用页面跳转

13.所有控制器继承BaseController

BaseController实现一个接口,其中包括所有跳转路径,统一管理

14.所有服务继承一个AbstractService,其中可写通用服务

15.每一个Service的输入输出遵循编号

16.文件下载设置编号,统一管理

17.检验的全部写在一起

对于表单校验,有一个通用的必须输入校验,对每个input输入框加入class来区分,在通用方法判断class并进行各自的校验,比如数位校验、日期校验等,也有每一个页面有独立的个别校验。当然前后台都需要校验,js端存在校验,后台java端也存在校验

18.zebra-dialog通用对话框

对话框使用该插件

19.Jasper出力文件自定义

文件通过数据自动生成使用该插件

20.测试的流程

首先测试者拿到项目,按页面进行分工测试,首先单元测试(开发者),然后黑盒测试(功能测试),再进行白盒测试(代码测试),整理bug汇总;
开发者拿到bug列表,进行修改,提交测试,测试者校验通过,验收者进行再次检查;
如果验收不通过,还原至测试者,判断是测试问题还是开发问题,提交相关测试或开发。

21.其他

在项目管理中,review是非常重要的,在每个单元模块开发完成后,需要由负责人进行代码检查,判断是否符合编码规范,比如所有的if有没有分行,类有没有编号,命名是否采用大功能-小功能的方式等等;

发布了84 篇原创文章 · 获赞 77 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/lujiachun1/article/details/95783939