代码规范小结

一.编码规约

(二) 常量定义

1.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

2.不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护,分类:缓存相关常量放在类 CacheConsts 下 ; 系统配置相关常量放在类 ConfigConsts 下。

3.long 或者 Long 初始赋值时,使用大写的 L ,不能是小写的 l ,小写容易跟数字 1 混淆,造成误解。

2.抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类 命名以它要测试的类的名称开始,以 Test 结尾。

3.杜绝完全不规范的缩写,避免望文不知义,反例:AbstractClass“缩写”命名成 AbsClass;

4.接口类中的方法和属性不要加任何修饰符号(public 也不要加) : 接口方法签名:void f();

5.接口和实现类的命名有两套规则:

(1)对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部 的实现类用 Impl 的后缀与接口区别。

(2)如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。 正例:AbstractTranslator 实现 Translatable。

6.Service/DAO 层方法命名规约

  1. 获取单个对象的方法用 get 做前缀。
  2. 获取多个对象的方法用 list 做前缀
  3. 获取统计值的方法用 count 做前缀。
  4. 插入的方法用 save(推荐)或 insert 做前缀
  5. 删除的方法用 remove(推荐)或 delete 做前缀。
  6. 修改的方法用 update 做前缀

7.领域模型命名规约

  1. 数据对象:xxxDO,xxx 即为数据表名。
  2. 数据传输对象: xxxDTO , xxx 为业务领域相关的名称
  3. 展示对象: xxxVO , xxx 一般为网页名称。
  4. POJO 是 DO / DTO / BO / VO 的统称,禁止命名成 xxxPOJO 。

 

(三)代码格式

1. if / for / while / switch / do 等保留字与括号之间都必须加空格

2.例子:

public static void main(String[] args) {
    // 缩进 4 个空格
    String say = "hello";
    // 运算符的左右必须有一个空格
    int flag = 0;
    // 关键词 if 与括号之间必须有一个空格,括号内的 f 与左括号,0 与右括号不需要空格
    if (flag == 0) {
       System.out.println(say);
    }
    // 左大括号前加空格且不换行;左大括号后换行
    if (flag == 1) {
       System.out.println("world");
    // 右大括号前换行,右大括号后有 else,不用换行
    } else {
       System.out.println("ok");
    // 在右大括号后直接结束,则必须换行
    }
}

3. // 注释内容,注意在 // 和注释内容之间有一个空格

4.单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则:

  1. 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进
  2. 运算符与下文一起换行
  3. 方法调用的点符号与下文一起换行
  4. 方法调用时,多个参数,需要换行时,在逗号后进行
  5. 在括号前不要换行

5.下例中实参的" a ",后边必须要有一个空格

method("a", "b", "c");

6.创建

long b = 4L;
float c = 5F;

7.方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义之间插入一个空行。相同业务逻辑和语义之间不需要插入空行。------    加入空行区分

 

(四) OOP规约

1.相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object 。

public User getUsers(String type, Integer... ids) {...}

2.所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。   Integer    

3.关于基本数据类型与包装数据类型的使用标准如下

  1. 所有的 POJO 类属性必须使用包装数据类型
  2. RPC 方法的返回值和参数必须使用包装数据类型
  3. 所有的局部变量使用基本数据类型。

4. serialVersionUID 不一致会抛出序列化运行时异常

5. POJO 类必须写 toString 方法

6.使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛 IndexOutOfBoundsExcepti

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值