java编码规范 和 数据库规范

  • 总体规约以《阿里巴巴Java开发手册》为主,请开发人员至少阅读一遍该手册。

一、java编码规范

1.1 java基础规范

  1. 多使用 jdk自带库和被验证的第三方库的类和函数,不要用野路子来的jar包

  2. 无论是包、类、方法、变量,见名知意

1.2 在线文档规约(主要方便和前端沟通)

  1. 不确定前端是否引用时建议先加Deprecated标识,待确认没有使用,或者前端调整为新接口时再删除相关代码。建议不要上来就直接删除,前端运行报一连串的错误后可能会引起一些不必要的误会。

  2. 如果运行环境要求24小时不间断运行(即更新时不能停机),一些关键接口建议在前后端上线的下一个版本再删除,以防止升级过程中出现不必要的服务中断。(这个不太理解)

  3. 废弃的类建议添加ApiIgnore标识。(这个也不太理解,废弃的类直接删了不行吗)

  4. 所有查询接口的返回值都要能通过swagger查看字段定义。不能返回一个Object、Map之类的让前端去猜谜语。

1.3 RestFul风格规约

  1. 不采用Restful风格建议采用的GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。具体实践过程中都会宣称提供Restful接口,实际由于软件面向业务场景的复杂性,很难将所有业务场景与HTTP请求类型相对应。最佳实践是查询类采用GET,其它全部采用POST。

好吵啊,以后再更新

二、数据库规范

2.1 表必备字段

|--------------------|-----------|--------|----|
| 编码 | 名称 | 数据类型 | 备注 |
| id | 行ID | 无符号长整型 | |
| create_user_id | 创建人ID | 无符号长整型 | |
| create_name | 创建人姓名 | 字符串 | |
| create_time | 创建时间 | 日期时间 | |
| update_user_id | 最后修改人ID | 无符号长整型 | |
| update_name | 最后修改人 | 字符串 | |
| update_time | 最后修改时间 | 日期时间 | |

  • " 大家写代码的时候该打日志的地方一定要打日志,后面排查问题全都靠日志了 "
  • " 这些代码要写在service层,调度层只做调度,具体业务逻辑都在service层,不管代码多少 "
  • " 大家开发的时候要注意:所有的属性和变量必须要写注释(不能使用尾行注释),方法要写注释,平均每5行代码就要写一个注释 "
  • "所有接口都用post方法"
相关推荐
g***B7381 小时前
Java 工程复杂性的真正来源:从语言设计到现代架构的全链路解析
java·人工智能·架构
期待のcode3 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
醇氧5 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
sunxunyong6 小时前
doris运维命令
java·运维·数据库
菜鸟起航ing6 小时前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈6 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
MapGIS技术支持6 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_6 小时前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
程序员zgh7 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子7 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式