关于日常工作中常见的阿里巴巴代码规范
不允许任何魔法值(即未经定义的常量)直接出现在代码中
低情商:
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
@Getter
@Setter
public class User{
@ApiModelProperty(value = "用户姓名 长度 200 必填",required = true)
@JSONField(name="name")
private String name;
public void verify(){
if (createTime == null){
//自定义的捕获异常
throw new GlobalException("请设置用户姓名");
}
if (createTime.length() > 20 || createTime.length() < 1){
//自定义的捕获异常
throw new GlobalException("用户姓名长度为1-20");
}
}
}
高情商:
public void verify(){
int min = 1;
int max = 200;
if (createTime == null){
//自定义的捕获异常
throw new GlobalException("请设置用户姓名");
}
if (createTime.length() > max || createTime.length() < min){
//自定义的捕获异常
throw new GlobalException("用户姓名长度为1-20");
}
}
单个方法的总行数不超过80行
由于项目自身原因无法做到100%单个方法总行数不超过80行,故可忽略,但仍可优化代码使代码更简洁.
说明:除注释之外的方法签名、结束右大括号、方法内代码、空行、回车及任何不可见字符的总行数不超过80行。
类名命名方式
类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:领域模型的相关命名)DO / BO / DTO / VO / DAO
所有的类都必须添加创建者信息
可在File -> setting -> Editor -> Code Style -> File and Code Templates 中选择 Class 编辑新建class文件时自动添加创建者信息
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
/**
* @class ${NAME}
* @author ${USER}
* @time ${DATE}
写这段代码的时候,只有上帝和我知道它是干嘛的
*/
#parse("File Header.java")
public class ${NAME} {
}