【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1.

Status
colourGreen
title强制
接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁 性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的基础常量。

Code Block
title正确的写法
collapsetrue
interface Animal {
   int countOfLegs();
}
Code Block
title错误的写法
collapsetrue
interface Animal {
   public int countOfLegs();
}
 

2.

Status
colourGreen
title强制
大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果 是非空代码块则:

 1) 左大括号前不换行。

 2) 左大括号后换行。

 3) 右大括号前换行。

 4) 右大括号后还有else等代码则不换行;表示终止右大括号后必须换行。 

Code Block
title正确的写法
collapsetrue
public void calculateCountOfStock() {}
public void calculateCountOfStock() {
    doSomething();
}


3.

Status
colourGreen
title强制
if/for/while/switch/do 等保留字与左右括号之间都必须加空格。

Code Block
title正确的写法
collapsetrue
if (statement) { 
   return; 
}
Code Block
title错误的写法
collapsetrue
if(statement){ 
   return; 
}


4.

Status
colourGreen
title强制
任何运算符左右必须加一个空格。 

5.

Status
colourGreen
title强制
方法参数在定义和传入时,多个参数逗号后边必须加空格。 

6.

Status
colourGreen
title强制
方法参数在定义和传入时,多个参数逗号后边必须加空格。 

Code Block
title正确的写法
collapsetrue
invokeMethod("a", "b", "c");
Code Block
title错误的写法
collapsetrue
invokeMethod("a","b","c");

7.

Status
colourGreen
title强制
任意一个方法的长度不得超过50行。过长的方法不方便写单元测试后期的维护以及扩展,尽量做到一个方法只做一件单一的事情。

8.

Status
colourGreen
title强制
在Java代码中需要输出JSON格式时,JSON字符串需要按照标准写。

Code Block
title正确的写法
collapsetrue
{"aa":"bb"};
Code Block
title错误的写法
collapsetrue
{a:"bb"}; 
{'a':"bb"};

 

9.

Status
colourGreen
title强制
在写需要输出到客户端的JSON对象时,如果需要输出数组对象,不要使用普通的Java数组对象,要使用JSONArray对象。

Code Block
title示例写法
collapsetrue
// JSON对象
JSONObject jo = JSONObject.create();
String[] names = new String[]{"aaa", "bbb", "ccc"};
jo.put("names", names);
// JSON数组
JSONObject jo = JSONObject.create();
JSONArray ja = new JSONArray(); ja.put("aaa").put("bbb").put("ccc"); jo.put("names", ja);


10.

Status
colourGreen
title强制
如果需要使用空字符串,不要直接使用"",用StringUtils.EMPTY。

Code Block
title正确的写法
collapsetrue
if (name == null) {
   return StringUtils.EMPTY;// 正确
}
Code Block
title错误的写法
collapsetrue
if (name == null) {
    return  "";// 不正确
}

11.

Status
colourGreen
title强制
判断字符串是否为空,使用StringUtils#isEmpty(String);

Code Block
title正确的写法
collapsetrue
if (StringUtils.isEmpty(name)) { // 正确
}
Code Block
title错误的写法
collapsetrue
if ("".equals(name)) {// 不正确
    
}

12.

Status
colourGreen
title强制
将一个对象转化为字符串,不能直接使用toString方法,需要使用GeneralUtils#objectToString(Object)方法。

Code Block
title正确的写法
collapsetrue
String okStr = GeneralUtils.objectToString(key);
Code Block
title错误的写法
collapsetrue
String result = key.toString();// 错误,无法避免空指针等错误

13.

Status
colourGreen
title强制
不要使用IDE自带的equals和hashCode生成模板,模板生成的方法在增加新的属性或者有特殊判断的时候难以正确处理,一律手写equals方法和hashCode方法。

Code Block
title示例代码
collapsetrue
public boolean equals(Object obj) {
    return obj instanceof MyObject
            && super.equals(obj) // 这个根据实际情况写,可能不需要
            && ComparatorUtils.equals(this.src, ((MyObject) obj).src)
            && this.isOverflowx() == ((MyObject) obj).isOverflowx()
            && this.isOverflowy() == ((MyObject) obj).isOverflowy()
            && ComparatorUtils.equals(this.parameters, ((MyObject) obj).parameters);
}