华为JAVA编码规范

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.程序块采用缩进风格,空格为4个.

说明:

对于开发工具自动生成的代码可以不一致

2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句

左对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进

说明:

for(…)

{

说明:

if(filename != null

&& new File(logPath+filename).length() < ())

{

3.…作符)

说明:

采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格

4.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置

说明:

类定义:{

类公有属性定义;

类保护属性定义;

类私有属性定义;

类公有方法定义;

类保护方法定义;

类私有方法定义;

}

5.源程序的有效注释量必须在30%以上

6.包的注释写入一个名为的html格式的说明文件放入当前路径

7.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本

说明:

一句话描述

详细描述

产品模块


公司版本信息

8.文件注释:写入文件头部,包名之前

9.文件注释内容:版本说明,描述信息,修改历史,生成日期

说明:

/*

*文件名

*版权

*描述

*修改人

*修改时间

*修改内容

*跟踪单号

*修改单号

*/

10.类和接口注释:放在package注释之后,class或interface之前

11.类和接口注释内容:类的注释要一句话功能描述,功能详细描述

说明:

/**

*<一句话功能简述>

*<功能详细描述>

*@author

*@version

*@see [相关类/方法]

*@since [产品/模块版本]

*@deprecated (表示不建议使用该类或者接口)

12.类属性,公有和保护方法注释:写在类属性,公有和保护方法上面

13.成员变量注释内容:成员变量的意义,目的,功能,可能被用到的地方

14.公有和保护方法注释的内容:方法的一句话功能描述,功能详细描述,输入参

数,输出参数,返回值,违例

说明:

/**

*@param

*@exception /throws

*/

15.对于方法内部用throw抛出的异常,要在方法的注释中标明,对于调用其他方

法抛出的异常,选主要的在注释中说明,对于非RuntimeException,即throws 子句声明会抛出的异常,必须在方法的注释中标明

16.注释应与描述的代码相近,对代码的注释应放在代码上方或者右方(单行注释)

相邻位置,不可放在下面,如放于上方则与上面代码用空行隔开

17.注释与描述的内容进行同样的缩进

18.对变量的定义和分支语句,必须加以注释

19.对于switch下的case语句,如果处理完一个case要进入下一个case,必须

在该case处理完,下一个case前加上明确的注释

说明:

这样比较清楚程序编写者的意图,有效防止无故遗漏break语句

20.边写代码边写注释,修改代码同时修改注释保证代码和注释一致,没用的注释

要删除

21.注释内容要清楚,明了,含义明确,防止二义性

22.不要在注释中用缩写

说明:除非必要,在使用缩写时或之前,应对缩写进行必要的说明

23.不要在一行代码或表达式中间加注释

说明:除非必要,不应在代码或表达式中间插入注释,否则容易使代码可理解性变差。

24.通过对函数,过程,变量,结构的正确命名,以及合理的组织代码,使代码成为

自注释的

25.在代码的功能,意图层次上进行注释,提供有用的,额外的信息

示例.如下注释意义不大。

26. 下来的部分可以详细描述

说明:JavaDoc工具收集简介的时候使用选取第一句话。

27.顺序实现流程的说明使用1,2,3,4.在每个实现步骤的代码前进行注释

示例:如下是对设置属性的流程注释。

断输入参数是否有效。

……

置本地变量

28.一些复杂的代码要说明

示例:这里主要是对闰年算法的说明。

果能被4整除,是闰年;

果能被100整除,不是闰年;

果能被400整除,是闰年;

29.包名采用域后缀倒置加上自定义包名,用小写字母,在部门内部要规划好包名

的范围,防止冲突,部门内部产品使用部门的名称加上模块名称,产品线的产品使用产品的名称加上模块名称

格式: .产品名.模块名称

.部门名称.项目名称

30.示例:融合WEBSMAP包名通用消息转发包名类名和接口使

用完整意义的英文描述,英文首字母大写,其他使用小写和大写的混合

示例:OrderInformation,CustomerList,LogManager,LogConfig,SmpTransation

31.方法名使用完整意义的英文描述,首字母小写,剩余字母首字母大写,其他字

母小写

示例: private void calculateRate();

public void addNewOrder();

32.方法中存取属性的方法用setter方法和getter方法,动作方法采用动词和动

宾结构

格式: get+非布尔属性名()

set+ 属性名()

is+布尔属性名()

动词()

动词+宾语()

示例:public String getType();

public boolean isFinished();

public void setVisible(boolean);

public void addKeyListener(Listener);

33.属性名使用完整意义的英文描述,第一个单词字母小写,剩余单词首字母大写,

其余字母小写,属性名不能和方法名相同

示例: private customerName;

private orderNumber;

private smpSession;

34.常量名使用全大写英文,英文单词之间用下划线隔开,并使用final static

修饰

示例:public final static int MAX_VALUE=1000;

public final static String DEFAULT_START_DATE=“2008-11-06”;

相关文档
最新文档