技术管理-1_4_1_服务端开发规范

1. 1. 本规范分为三个章节
  • 介绍
  • 第一章 – 数据库规范
  • 第二章 – JAVA代码书写规范
  • 第三章 - SQL语句规范
1. 2. 语言

  本文中用到的关键字 必须=强制。不能=强制。要求=强制,如果有特殊情况,需要商讨后决定是否可以解除此次强制。应该=不强制,但如果不遵守,可能会出现意外情况。不应该=不强制,但如果不遵守,可能会出现意外情况。推荐=不强制,根据经验总结出的相对较好的方案, 可以不遵守。可以=不强制,明确指定允许做的事情。可选=不强制,任选其一,可以都不选择。

第一章 数据库规范

1. 1. 要求:依据以下标准建立数据模型
字段种类 命名规范 数据类型 长度
1 编码(对象编码,第三方单号,第三方编号) xx_code varchar 64
2 名称 xx_name varchar 128
3 日期(不带时分秒) xxx_date date  
4 时间(带时分秒) xxx_time datetime  
5 对象状态 xxx_status int 4
6 备注 remark varchar 512
7 文本 xxx_text text 无须填写
8 外键 xxx表_id(例:biz_corp_id) 与主表相同 与主表相同
9 是否删除 delete_flag tinyint 1
10 是否字段 xxx_flag tinyint 1
11 创建人id creator_uid 与主表相同 与主表相同
12 创建人名称 creator 与主表相同 与主表相同
13 创建时间 create_time datetime  
14 更新人id updator_uid 与主表相同 与主表相同
15 更新人名称 updator 与主表相同 与主表相同
16 更新时间 update_time datetime  

注: 如果需要在实体类中用Boolean类型的字段, 请用tinyint类型,长度为1.

如果字段的命名长度超过20个字符,可以进行删减.

(暂停推广)归类 (暂停推广) 前缀
系统配置: sys_
个人中心: my_
基础数据服务: bd_ (已有:公司/项目/职位/人才/简历/用户(顾问)/)
pipeline: ppl_
业务: biz_
基础数据字典: base_
日志相关(建立在自己的归类下): xxx_oper_
kpi操作: kpi_

第二章 JAVA代码书写规范

1. 1. 强制:不使用双重否定

目的:1.增加可读性

例如 :

(错误示例) isNotFoundNotExistByKey(是否找不到不存在的KEY ) 
(正确示例) isExistByKey(是否存在KEY )

(错误示例) if(!isNotEmpty())
(正确示例) if(isEmpty())
1. 2. 强制:DB层的Mapper命名 计数方法count作为前缀,存在方法exist作为前缀, 查询方法select作为前缀,增加方法insert作为前缀,修改方法update作为前缀,保存或新增insertOrUptate, 删除方法delete作为前缀,不允许以业务操作命名

目的:1.增加可读性。2.与业务隔离

注: 计数方法指 count(*),只返回个数的查询方法

1. 3. 强制:DB服务SQL只能写在xml文件中。

目的:1.增加可维护性。

第三章 SQL语句规范

1. 1. 要求:用嵌套查询或拆分查询替代挂表查询

目的:1.减少磁盘IO

注: 先用EXPLAIN看一下

1. 2. 要求:连表不超过3张,优先短查询, 不允许关联非自身服务的数据表

目的:1.减少磁盘IO。2.解耦,为系统服务化做准备

1. 3. 要求:短查询

目的:1.减少磁盘IO。2.解耦,为系统服务化做准备 3.日后方便有针对性的调优

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

备案信息公示
京ICP备18003381号
京ICP备18003381号-1