boot返回码规范 spring_Springboot 编码规范

1.规范的意义和作用

·编码规范可以最大限度的提高团队开发的合作效率

·编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护

·编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码

·规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维

2.代码仓库规范

2.1公共组件

·公共组件通常指Java库,提供特定问题的处理程序包

·公共组件仓库地址:https://git.company.com/java-library-group

·公共组件的坐标命名规范

o分组编号:com.company.library 固定取值

o组件名称:name name根据组件名称定义

o组件版本:x.y.z x.y.z根据组件实际版本情况定义

2.2服务组件

·服务组件通常指可以独立部署,运行,维护的服务程序包

·服务组件仓库地址:https://git.company.com/server-microservice-group

·应用组件的坐标命名规范

o分组编号:com.company.server固定取值

o组件名称:name name根据组件名称定义

o组件版本:x.y.z x.y.z根据组件实际版本情况定义

3开发环境规范

·开发环境:JDK1.7+

·开发工具:IntelliJ IDEA 2017(安装Lombok Plugin)

·构建工具:Maven3.x

·代码管理工具:Git /TortoiseGit

4.项目结构规范

4.1简述

一个项目对应代码仓库中的一个仓库,项目结构是指一个基于Maven创建的项目目录结构。公共组件项目,通常会创建一个Maven普通项目。服务组件项目,通常会创建一个Maven聚合项目,并在聚合项目目录下创建多个继承Maven聚合项目的Maven模块,它们一起作为服务组件项目的组成部分。

4.2项目名

·要求

o英文名称,作为仓库,项目,项目根目录,组件(公共组件,服务组件)的名称

o中文名称,用于代码仓库的描述

o项目名称和代码仓库的名称保持一致

·定义

o项目名称通常由团队负责人确定

·示例

o项目中文名:人脸数据仓库

o项目英文名:data-warehouse-face

o项目目录名:data-warehouse-face

o项目仓库地址:https://git.company.com/server-microservice-group/data-warehouse-face.git

o初始版本:1.0.0

o示例是一个服务组件,根据上面定义的信息确定该服务组件的Maven坐标命名:

com.company.serverdata-warehouse-face1.0.0

4.3模块命名

·要求

o模块名称:{项目名称}-{模块名称} 模块名称简洁体现职责

o模块名字作为模块组件的名称

·示例

·人脸数据仓库的数据接入模块名称:data-warehouse-face-access

4.4项目目录

·项目目录遵循Maven约定目录格式

4.5源码目录

·源码目录指:{项目目录}/src/main/

·打包定义目录:src/main/assembly

·代码目录:src/main/java

·资源目录:src/main/resources

o/db:数据库脚本归档

o/data:内部依赖数据归档

·文档目录:src/main/docs

·脚本目录:src/main/bin

orun-manage.sh 运行管理脚本(通过参数start, stop, status, help info控制程序运行)

osh:服务组件启动脚本

osh:服务组件停止脚本

5.编码规范

5.1包规范

·项目基本包:com.company.{项目英文名(较长时适当简化)}.{模块名(可选)}

·config:配置类

·startup:与服务启动相关的类

·client:提供客户端实现的相关类

·common:公共类,定义常量类,组件

·entity: 数据库相关的实体类

·model:数据模型类(参数模型,数据传输模型等)

·control:控制层接口

·service: 服务层

·dao:数据库访问层

5.2日志记录

·统一使用SLF4j接口

5.3异常处理

·运行时异常:通过参数检查等方式避免或抛出运行时异常,日志记录

·检查异常:检查异常需要捕获,处理,日志记录

5.4接口定义

·原则

o接口地址定义表明用意

o接口地址定义清晰,简洁,无歧义

o同一个服务组件的接口定义具有一致性

·格式

o控制类的顶层地址格式:/{顶层分类名},例如:/library 人员库相关接口的顶层地址

o接口定义使用Swagger的API注解说明

o标注完整的请求信息,请求方法,请求地址,参数可选性,接口描述

·请求方式

oGET URL-Params

oPOST Form-Data

oPOST RequestBody(JSON格式)

oPOST Mulitpart

·响应方式

o统一的响应模型

5.5辅助工具

·字符串处理:apache common-lang3

·时间日期处理:joda-time

·JSON处理:Gson,Fastjson

·集合扩展工具:guava

·文件和流处理:commons-io

·编解码:commons-codec

·建议:尽可能使用开源组件

5.6代码注释

·类,接口,枚举顶层注释

·接口方法注释

·静态方法注释

·公开方法注释

·类的属性字段注释

·常量注释

·不限于以上

6.代码控制规范

6.1拉取原则

·强制

o每日开始工作拉取

·约定

o提交之前拉取

6.2提交原则

·强制

o提交代码必须构建成功(比如:编译,打包成共)

o提交代码必须完整(比如:少提文件)

o提交代码必须忽略到本地临时文件(比如:target, logs, .idea, *.iml,dist 等)

·约定

o完成一个功能提交

o修改一个Bug修改提交

o解决冲突提交

o每日结束工作提交

6.3提交注释

·强制

o中文填写注释

o注释反映本次提交变更情况

·约定

o注释描述添加前缀,前缀如下

o[创建] 通常在项目创建时使用

o[新增]

o[修改]

o[删除]

o[修复-number] 修复Bug使用,number是Bug编号

7.构建规范

7.1公共组件构建规范

·构建输出组件包

·构建输出组件源码包

·构建发布到公司私有仓库

7.2服务组件构建规范

·服务组件包命名:{组件名称}-{版本号}-bin.zip

·构建输出到工程根目录下的dist/{组件名称}-{yyyyMMddHH}目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值