华为JAVA编程规范
- 格式:pdf
- 大小:451.62 KB
- 文档页数:19
目录1 排版62 注释113 标识符命名184 可读性205 变量、结构226 函数、过程287 可测性368 程序效率409 质量保证4410 代码编辑、编译、审查5011 代码测试、维护5212 宏531 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
¹1-2:相对独立的程序块之间、变量说明之后必须加空行。
示例:如下例子不符合规范。
if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
示例:perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL );act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied= stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false= SYS_get_sccp_statistic_state( stat_item );report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)&& (n7stat_stat_item_valid (stat_item))&& (act_task_table[taskno].result_data != 0));¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
JAVA编程规范试题一、判断题(每题2分,共28分)1、if, for, do, while, case, switch, default 等语句自占一行,且if, for,do, while, switch, case等语句的执行语句无论多少都要加括号{}。
2、包的注释内容要求包括:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权、生成日期等。
3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。
4、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。
5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。
6、com.huawei.四级部门名称.项目名称,符合包命名规范。
7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。
8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样化。
9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异常根据分类组织成继承关系。
10、switch 语句中的 case 关键字要和后面的常量保持一个空格;如果有特殊的需要要在switch语句中定义case以外的标签,需要在注释中说明。
11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。
12、简单的类可以通过名字比较两个对象的类,推荐使用 getClass()或者instanceof()。
13、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。
精心整理DKBA华为技术有限公司企业技术规范DKBA1040-2001.12代替(DKBA200106-003)目次前言 (3)1范围11 2规范性引用文件11 3术语和定义11 4排版规范121252.包的注释:包的注释写入一个名为package.html的HTML格式的说明文件放入当前路径。
163.包的注释内容:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权。
164.文件注释:文件注释写入文件头部,包名之前的位置。
165.文件注释内容:版权说明、描述信息、生成日期、修改历史。
176.类和接口的注释:该注释放在package关键字之后,class或者interface关键字之前。
18187.类和接口的注释内容:类的注释主要是一句话功能简述、功能详细描述,8.类属性、公有和保护方法注释:写在类属性、公有和保护方法上面。
19199.成员变量注释内容:成员变量的意义、目的、功能,可能被用到的地方。
1910.公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、违例等。
2011.对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。
对于非RuntimeException,即throws子句声明会抛出Array7.注释尽量使用中文注释和中文标点。
方法和类描述的第一句话尽量使23用简洁明了的话概括一下功能,然后加以句号。
接下来的部分可以详细描述。
238.顺序实现流程的说明使用1、2、3、4在每个实现步骤部分的代码前面进行注释。
9.一些复杂的代码需要说明。
23 6命名规范246.1规则24241.包名采用域后缀倒置的加上自定义的包名,采用小写字母。
在部门内部应该规划好包名的范围,防止产生冲突。
部门内部产品使用部门的名称加上模块名称。
产品线的产品使用产品的名称加上模块的名称。
242.类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。
Java语言编码规范Prepared by拟制Date日期yyyy-mm-ddReviewed by 评审人Date日期yyyy-mm-ddApproved by批准Date日期yyyy-mm-ddRevision Record 修订记录Table of Contents 目录1.范围 (4)2.规范性引用文件 (4)3.术语和定义 (4)4.排版规范 (5)4.1.规则 (5)4.2.建议 (7)5.注释规范 (8)5.1.规则 (8)5.2.建议 (12)6.命名规范 (15)6.1.规则 (15)6.2.建议 (16)7.编码规范 (17)7.1.规则 (17)7.2.建议 (20)8.JTEST规范 (22)8.1.规则 (22)8.2.建议 (23)1.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
本规范适用于使用Java语言编程的产品和项目。
2.规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本规范。
3.术语和定义规则:编程时强制必须遵守的原则。
建议:编程时必须加以考虑的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释。
示例:对此规范或建议从正、反两个方面给出例子。
4.排版规范4.1.规则4.1.1.*程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
4.1.2.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
华为编程规范华为编程规范是指在华为公司内部进行软件开发时所遵守的一套规范和标准,旨在提高代码的质量和可维护性。
下面是华为编程规范的主要内容。
一、命名规范:1. 变量和函数名应采用有意义的名称,尽量避免使用缩写或简写。
2. 变量名和函数名应使用小驼峰命名法,即首字母小写,后续单词首字母大写。
3. 常量名应使用大写字母和下划线,以增加可读性。
4. 类名应使用大驼峰命名法,即每个单词首字母大写。
5. 文件名应与其中的公共类名一致。
二、注释规范:1. 在每个函数的开头添加函数的功能说明,参数说明和返回值说明。
2. 在关键性代码部分添加注释,说明代码的逻辑。
3. 在需要修正或改进的代码部分添加TODO注释,以便后续修复。
三、代码风格:1. 缩进使用4个空格而不是Tab键。
2. 每行代码的长度不能超过80个字符。
3. 在二元操作符两边添加空格,例如 a + b。
4. 大括号应另起一行,不应与关键字在同一行。
5. 每个语句结束后都应该添加分号。
四、异常处理:1. 捕获异常时应尽量具体,不应捕获顶层异常。
2. 异常处理代码应与正常逻辑代码分离,以提高代码的可读性。
3. 异常处理代码块应添加注释,说明捕获的异常类型和处理的方法。
五、函数规范:1. 函数的长度应控制在100行以内,避免函数过长和复杂。
2. 函数的参数应尽量少,可以通过封装成结构体或类的方式来减少参数数量。
3. 函数应只完成一个功能,不应既完成数据处理又完成界面显示等功能。
六、代码复用:1. 尽量使用现有的类和框架来实现功能,避免重复造轮子。
2. 重复的代码应抽取成函数或方法来复用,提高代码的可维护性。
3. 提高代码的可移植性,使其可以在不同的平台和环境下复用。
七、测试规范:1. 添加单元测试用例,覆盖所有的代码分支,确保代码的正确性。
2. 针对不同的输入情况,测试代码的边界问题和异常情况。
3. 添加性能测试用例,确保代码在大数据量和高并发情况下的性能表现。
Android平台Java编程规范(文档编号/ IPD-CMMI V1.3 / 仅供内部使用)Huawei Technologies Co., Ltd.华为技术有限公司All rights reserved版权所有侵权必究DKBA华为技术有限公司企业技术规范DKBA1040-2008.12 Android平台Java编程规范2008-12-24发布2008-12-25实施Revision record 修订记录目录前言 (7)1范围 (8)2规范性引用文件 (8)3术语和定义 (8)4排版规范 (8)4.1.规则 (8)4.1.1*缩进风格 (8)4.1.2分界符‘{’和‘}’ (9)4.1.3*较长的语句、表达式或参数 (10)4.1.4*不允许把多个短语句写在一行中 (10)4.1.5*if, for, do, while, case, switch, default 等语句自占一行, (10)4.1.6*相对独立的程序块之间、变量说明之后必须加空行。
(11)4.1.7*对齐只使用空格键,不使用TAB键。
(11)4.1.8*关键字、变量、常量进行对等操作 (11)4.2建议 (12)4.2.1交叉放置 (12)5注释规范 (13)5.1规则 (13)5.1.1注释量 (13)5.1.2包的注释 (13)5.1.3包注释内容 (13)5.1.4文件注释 (14)5.1.5类和接口注释 (14)5.1.6类和接口的注释内容 (15)5.1.7类属性、公有和保护方法注释 (16)5.1.8成员变量注释内容 (16)5.1.9异常抛出 (18)5.1.10*注释与代码放置 (18)5.1.11*注释与描述内容的缩排 (19)5.1.12* 将注释与其上面的代码用空行隔开 (19)5.1.13* 对变量的定义和分支语句(条件分支、循环语句等)必须编写注释 (20)5.1.14* switch语句下的case语句 (20)5.1.15* 注释的管理 (20)5.1.16*注释的内容 (20)5.1.17* 注释中的缩写 (20)5.1.18注释语言 (21)5.1.19删除代码的注释 (21)删除代码,特别是删除多行代码、删除方法、成员变量等需要有明确注释,便于版本升级;删除android原始代码必须要求有明确注释。
华为JAVA编程要求规范重要试题JAVA编程规试题一、判断题(每题2分,共28分)1、if, for, do, while, case, switch, default 等语句自占一行,且if, for,do, while, switch, case等语句的执行语句无论多少都要加括号{}。
2、包的注释容要求包括:简述本包的作用、详细描述本包的容、产品模块名称和版本、公司、生成日期等。
3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者、新版本号和当天的日期,since 表示从那个版本开始就有这个类或者接口,deprecated 表示不建议使用该类或者接口。
4、对于方法部用throw语句抛出的异常,必须在方法的注释中标明;对于所调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。
5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。
6、.huawei.四级部门名称.项目名称,符合包命名规。
7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。
8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样化。
9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异常根据分类组织成继承关系。
10、switch 语句中的case 关键字要和后面的常量保持一个空格;如果有特殊的需要要在switch语句中定义case以外的标签,需要在注释中说明。
11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。
12、简单的类可以通过名字比较两个对象的类,推荐使用getClass()或者instanceof()。
13、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。