- 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格!
- 常量命名全部大写,单词间用下划线隔开!
- 抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾!
- POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误!
- 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词!
以上参考了阿里巴巴Java编码规范,这也是最基本的!
在实际中![这是一个实体类包](http://img.blog.csdn.net/20170512085323174?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1emhpZ2FuZzgyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
@Override
public String toString() {
return "AlbumDO{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
而DTO可以根据需求,重写toString()方法!
@Override
public String toString() {
return JSON.toJSONString(this,NotWriteDefaultValue);
}
实际项目总结:
- 参数控制在逻辑代码中判断,不要使用默认拦截
- 前台传来的json参数在取参数值时进行返回null的情况判断
- 在写日志时,应该保证日志具有一定的含义,避免没意义的log,比如只写了插入失败,应该具体描述插入什么数据失败了!
- 发生异常时,统一返回给客户端的内容,并且记录异常发生原因!禁止只是简单的输出“ e.printStackTrace();”而不进行任何的处理。
- 删除数据时避免for循环删除,最后使用批量删除!
- 对于返回前台的内容,建议写一个返回类。基本的内容包括:状态码(code)、状态描述(msg)、数据内容(data)等!
import static com.alibaba.fastjson.serializer.SerializerFeature.NotWriteDefaultValue;
//定义为泛型,方便处理各种类型的数据!
public class CommonResponseDTO<T> {
private int code = 10000;
private String msg = "Request success.";
private long totalCount;
private T data;
...省略了get、set方法
//重写了toString()方法,方便转化为前台所需的json数据!
@Override
public String toString() {
//NotWriteDefaultValue:为了使得避免返回没有值得数据信息
return JSON.toJSONString(this,NotWriteDefaultValue);
}
}