1.1 命名
1.1.1 规则
规则1 类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。(1.42+)
示例:OrderInformation, CustomerList, LogManager, LogConfig, SmpTransaction
规则2 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。(1.42+)
示例:
private void calculateRate();
public void addNewOrder();
规则3 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。(1.42+)
格式:
get + 非布尔属性名()
is + 布尔属性名()
set + 属性名()
动词()
动词 + 宾语()
示例:
public String getType();
public boolean isFinished();
public void setVisible(boolean);
public void show();
public void addKeyListener(Listener);
规则4 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。(1.42+)
示例:
private customerName;
private orderNumber;
private smpSession;
规则5 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static final修饰。(1.42+)
示例:
public static final int MAX_VALUE = 1000;
public static final String DEFAULT_START_DATE = "2001-12-08";
1.1.2 建议
建议1 包名采用域后缀倒置的加上自定义的包名,采用小写字母,都应该以com.huawei开头(不包括一些特殊原因)。在部门内部应该规划好包名的范围,防止产生冲突。部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。(1.42+)
说明:除特殊原因包结构都必须以com.huawei开头,如果因为OEM合作等关系,可以不做要求。
格式:
com.huawei.产品名.模块名称
示例:
融合WEBSMAP包名 com.huawei.iin.websmap
建议2 通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。(1.42+)
说明:清晰准确的函数、变量等的命名,可增加代码可读性,并减少不必要的注释。
建议3 常用组件类的命名以组件名加上组件类型名结尾。(1.42+)
示例:
Application 类型的,命名以App 结尾——MainApp
Frame 类型的,命名以Frame 结尾——TopoFrame
Panel 类型的,建议命名以Panel 结尾——CreateCircuitPanel
Bean 类型的,建议命名以Bean 结尾——DataAccessBean
EJB 类型的,建议命名以EJB 结尾——DBProxyEJB
Applet 类型的,建议命名以Applet 结尾——PictureShowApplet
建议4 如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。(1.42+)
示例:
getCustomerInformation() 改为 getCustomerInfo()
建议5 准确地确定成员函数的存取控制符号:只是该类内部调用的函数使用 private 属性,继承类可以使用的使用protected属性,同包类可以调用的使用默认属性(不加属性控制符号),对外公开的函数使用public属性(1.42+)
示例:
protected void getUserName()
{
。。。。。。
}
private void calculateRate()
{
。。。。。。
}
建议6 含有集合意义的属性命名,尽量包含其复数的意义。(1.42+)
示例:
customers, orderItems