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

Page tree

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

Skip to end of metadata
Go to start of metadata

命名要能大致体现出方法的功能,不能使用一个简单的单词。

1.强制类命名:首字母大写,其他单词除首字母大写外都使用小写(除开一些特殊单词,如URL,HTML这种)

2.强制方法名:首字母小写,其他单词除首字母大写外都使用小写

3.强制变量名:首字母小写,其他单词除首字母大写外都使用小写 

4.强制代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 

5.强制代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 

6.强制类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:(领域模型 的相关命名)DO / BO / DTO / VO等。

正确的写法
UserDAO,ParameterNameSpace,NetworkHelper
错误的写法
userDAO,ParameternameSpace,NETworkHelper

7.强制方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式,且不要出现拼写错误。 

正确的写法
localValue,getPureMessage(),userTextField


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

正确的写法
public static final int MAX_STOCK_COUNT = 20;
错误的写法
public static final int max_stock_count = 20;
public static final int MAX_COUNT = 20;


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

10.强制包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。

正确的写法
package com.fr.data.model;
错误的写法
package com.fr.chart.ChartAttr;   // 使用了大写字母
package com.finebi.common.internalimp  // 使用了多个语义的单词放一起


11.强制杜绝完全不规范的缩写,避免望文不知义。

正确的写法
public class DateWork { 
   private int remainDays = 10;//剩余的天数 
  
   public void calculateNameWithData(Data data) {
 
   } 
}
错误的写法
public class DateWork { 
   private int r = 10;//剩余的天数 
  
   public void cal(Data data) {
 
   } 
}

12.强制用于设置对象属性的方法前缀必须是set,用于获取一个布尔对象属性的方法前缀必须是is/has,而用于获取其他类型属性的方法前缀必须是get。

正确的写法
public class Student {
    private boolean male;
 
    public boolean isMale() {
        return male;
    }
}
错误的写法
public class Student {
    private boolean male;
 
    public boolean getMale() {
        return male;
    }
}

13.强制布尔类型的字段名不能以is/has开头。

正确的写法
public class Student {
    private boolean male;
 
    public boolean isMale() {
        return male;
    }
}
错误的写法
public class Student {
    private boolean isMale;
 
    public boolean getMale() {
        return isMale;
    }
}

14.强制禁止在类中出现魔术数,应该使用常量(static final)来替代。这种方式通过合适的常量名可以让其他人能读懂该魔术数的意义。

正确的写法
private static final int PI = 3.14;
public double area(double r) {
    return PI * r * r;
}
错误的写法
public double area(double r) {
    return 3.14 * r *r;
}

15.强制提供开放接口的时候,不要包含什么Custom之类的单词,作为一个开放接口,就已经是可以提供自定义的实现,不需要在特别去强调。

正确的写法
public interface PasswordHandleProcessor extends XMLable, Immutable {
     String encrypt(String clientPassword);
     String decrypt(String clientPassword);
}
错误的写法
public interface CustomPasswordCryptProcessor extends XMLable, Immutable {
    String encodePassword(String clientPassword);
    String decodePassword(String clientPassword);
} 

16.强制为了方便链式调用,可能会提供返回自身的set方法,要求不得以set开头,而是提供两个方法。

正确的写法
public setIp(String ip) {
    this.ip = ip;
}
 
public BlockIpEntity ip(String ip) {
    this.setIp(ip);
    return this;
}
错误的写法
public BlockIpEntity setIp(String ip) {
    this.ip = ip;
    return this;
}
  • No labels