一、项目强制执行
1、POM中所有jar包的引用必须是有效的,并且需要保证jar包的版本统一。
2、POM中如果是多模块项目,必须注释清楚每个模块的具体功能。
3、数据库表的命名不用统一前缀,要按照业务功能统一命名。
4、数据库表必须有主键且使用ID命名,逻辑外键使用关联表名加ID,例如:user_id。
5、数据库表之间统一使用主键进行关联。
6、 数据库表的编码格式必须使用:utf8mb4。
7、 数据库表名、字段名必须有注释,表名和项目中实体必须一致。
8、数据库中状态、类型等都使用枚举名存储,不允许使用数字存储。
9、数据库字段优先使用非空约束,业务逻辑非空的字段必须设置非空约束。
10、数据库需要建立唯一索引的字段必须建立。
11、 在项目中,开发包名必须明确按照业务区分好,禁止出现一个包下面有各种各样大量文件,必须按功能进行分包 。例如:定时任务需要按功能模块分别放到不同的包下面,现在有项目几十个定时任务放到一个包下面。
12、项目中状态、类型等都使用枚举,不允许使用数字。
13、 项目中必须要使用hibernate validation框架进行入参校验,不允许出现因输入字符过长导致的数据库字段超长异常。
14、项目必须通过阿里的规范扫描后才能提交git。
15、项目中的重复代码统一封装工具类,公共的代码要提取出来作为统一公共类。
16、项目中已经废弃的业务逻辑代码,要及时删除,有效期为1个月,后期再使用的时候可以进行重构开发。
17、项目中每个类和方法要写明代码注释,方便后期代码阅读和问题处理。
18、 项目中RedisKey的命名要按业务来区分管理,方便维护。
19、项目中Redis在使用时要设置过期时间,理论上建议不超过24小时,具体的可按实际的业务场景进行设置,如果因业务需求不能设置过期时间的要注明原因。
20、 项目中对外服务必须要有xss攻击过滤、跨域处理。
21、 项目中代码嵌套层不允许超过3层。
22、项目中要按照职责进行类、包拆分,一个service类最多3个对外方法,禁止使用如user、common笼统词汇进行命名。
23、IDEA必须安装阿里规范、findbugs软件。
24、代码审查出的问题要及时修改,并且要及时分享,其它的项目要同步进行检查并修复。
25、所有账号信息必须在配置文件中配置,不允许写在程序中,交易密钥及密码等敏感信息需要加密。
二、 项目推荐执行
1、 每个类上面都有对勾。
2、 针对项目上线后可能变化较频繁的信息,建议在数据库中创建数据字典表,不要配置在配置文件中,避免修改时需要重启服务。
3、 后台进行导出数据查询的时候,由于pageHelper分页查询数据时会执行count命令,建议不使用pageHelper进行分页查询,在代码中查询一次总量,后续自行实现分页查询。