华为JAVA编码规范
Java语音编码规范(华为)37p
Java语音编码规范(华为)【最新资料,WORD文档,可编辑修改】Java语言编码规范Prepared by拟制Date日期yyyy-mm-ddReviewed by 评审人Date日期yyyy-mm-ddApproved by批准Date日期yyyy-mm-ddRevision Record 修订记录Table of Contents 目录1.范围 (5)2.规范性引用文件 (5)3.术语和定义 (5)4.排版规范 (6)4.1............................................................................................................... 规则64.2............................................................................................................... 建议95.注释规范 (10)5.1............................................................................................................... 规则105.2............................................................................................................... 建议176.命名规范 (20)6.1............................................................................................................... 规则206.2............................................................................................................... 建议227.编码规范 (24)7.1............................................................................................................... 规则247.2............................................................................................................... 建议298.JTEST规范 (31)8.1............................................................................................................... 规则31 8.2............................................................................................................... 建议321.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
华为的编程规范和范例
目录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:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
华为软件编码规范
华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。
¹1-2:相对独立的程序块之间、变量说明之后必须加空行示例:如下例子不符合规范。
Int ni;if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写Int 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:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if ((taskno < max_act_task_number)&& (n7stat_stat_item_valid (stat_item))){... // program code}for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++){... // program code}for (i = 0, j = 0;(i < first_word_length) && (j < second_word_length);i++, j++){... // program code}¹1-5:若函数或过程中的参数较长,则要进行适当的划分示例:n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object),sizeof (_STAT_OBJECT));n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。
java编码规范(建议稿,修改自华为规范)(1)解析
武汉中软卓越科技有限公司Java语言编码规范Table of Contents 目录1. 范围 (3)2. 术语和定义 (3)3. 排版规范 (4)3.1. 规则 (4)3.2. 建议 (6)4. 注释规范 (7)4.1. 规则 (7)4.2. 建议 (12)5. 命名规范 (14)5.1. 规则 (14)5.2. 建议 (15)6. 编码规范 (17)6.1. 规则 (17)6.2. 建议 (20)7. JTEST规范 (22)7.1. 规则 (22)7.2. 建议 (23)1.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTest的规则和建议。
本规范适用于使用Java语言编程的案例、产品和项目。
2.术语和定义规则:编程时强制必须遵守的原则。
建议:编程时必须加以考虑的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释。
示例:对此规范或建议从正、反两个方面给出例子。
3.排版规范3.1.规则3.1.1.*程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
3.1.2.*语句块分隔符左括号‘{’应与语句块引用代码在同一行,右括号‘}’应另起一行并与语句块引用代码左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
示例:如下例子不符合规范。
for (...){... // program code}if (...){... // program code}void example_fun( void ){... // program code}应如下书写:for (...){... // program code}if (...){... // program code}void example_fun( void ){... // program code}3.1.3.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
华为Java语言编码规范
华为Java语言编码规范Java语言编码规范Preparedby拟制Date日期yyyy-mm-ddReviewed Date yyyy-mm-ddby评审人日期Approvedby批准Date日期yyyy-mm-ddRevision Record 修订记录Table of Contents 目录1.范围 (7)2.规范性引用文件 (7)3.术语和定义 (7)4.排版规范 (9)4.1........................................................................... 规则94.2........................................................................... 建议135.注释规范 (14)5.1........................................................................... 规则145.2........................................................................... 建议256.命名规范 (29)6.1........................................................................... 规则296.2........................................................................... 建议327.编码规范 (34)7.1........................................................................... 规则347.2........................................................................... 建议428.JTEST规范 (45)8.1........................................................................... 规则458.2........................................................................... 建议481.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
Java语音编码规范华为
Java语音编码规范(华为)Java语言编码规范Prepared by 拟制Date日期yyyy-mm-ddReviewed by 评审人Date日期yyyy-mm-ddApproved by Dateyyyy-mm-ddRevisi on Record 修订记录1.范围...................................2.规范性引用文件...............................3.术语和定义................................4.排版规范.................................. 4.1. 规则...................................4.2. 建议.....5. 注释规范5.1. 规则........5.2. 建议.....6. 命名规范6.1. 规则........6.2. 建议.....7. 编码规范7.1. 规则........7.2. 建议.....8. JTEST规范8.1. 规则........8.2. 建议 ....................................1.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
本规范适用于使用Java语言编程的产品和项目。
2.规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本规范。
3.术语和定义规则:编程时强制必须遵守的原则。
建议:编程时必须加以考虑的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释示例:对此规范或建议从正、反两个方面给出例子。
华为软件编码规范
华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。
¹1-2:相对独立的程序块之间、变量说明之后必须加空行示例:如下例子不符合规范。
Int ni;if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写Int 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:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if ((taskno < max_act_task_number)&& (n7stat_stat_item_valid (stat_item))){... // program code}for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++){... // program code}for (i = 0, j = 0;(i < first_word_length) && (j < second_word_length);i++, j++){... // program code}¹1-5:若函数或过程中的参数较长,则要进行适当的划分示例:n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object),sizeof (_STAT_OBJECT));n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。
Java语言编程规范--华为01年
DKBA华为技术有限公司企业技术规范DKBA1040-2001.12代替(DKBA200106-003)Java语言编程规范2001-12-XX发布2001-12-XX实施华为技术有限公司发布VVVVVVV VVVVVVVVVVVX。
XVX.X VX.X VX.X VX.XVX.X目次前言 .................................................................................31 范围112 规范性引用文件113 术语和定义114 排版规范124.1 规则121.*程序块要采用缩进风格编写,缩进的空格数为4个。
122.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与12引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
133.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
4.*不允许把多个短语句写在一行中,即一行只写一条语句13135.*if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。
6.*相对独立的程序块之间、变量说明之后必须加空行。
137.*对齐只使用空格键,不使用TAB键。
148.*在两个以上的关键字、变量、常量进行对等操作时,它们之间的操14作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
4.2 建议15151.类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。
VVVVVVV VVVVVVVVVVVX。
java编码规范(华为)
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语句中的程序都要采用如上的缩进方式。
2023-Java编码规范-1
Java编码规范Java编码规范是指在Java语言开发过程中对代码格式、命名规范、注释等方面的规范。
它涵盖了许多方面,包括代码格式、命名规范、注释等等,并且会让代码更加易于理解和维护。
下面分步骤来阐述Java 编码规范。
1.代码格式- 代码缩进:使用四个空格。
- 代码行长度:每行不超过80个字符。
- 代码块括号:左大括号放在语句后,右大括号独立一行。
- 空行:在方法或类中的单独任务之间使用空白行来分隔。
- 其他注意事项:避免使用过多的空格,在行末不要有空格,避免使用tab字符。
2.命名规范- 包名:使用小写字母,多个单词使用.分割。
- 类名:使用驼峰命名法,每个单词首字母大写。
- 方法名:使用驼峰命名法,每个单词首字母小写。
- 变量名:使用驼峰命名法,每个单词首字母小写。
- 常量名:所有字母大写,单词之间用_分割。
- 其他注意事项:名称应该避免缩写,可读性要优先。
3.注释- 类、方法和变量都应该进行注释。
- 类和方法的注释应当使用javadoc格式。
- 变量和常量可以使用单行注释或行尾注释。
- 注释要避免使用无意义的话语,应该简明扼要地描述该元素的意义。
Java编码规范对开发人员来说是非常重要的,这能让代码更清晰、可读性更强,并且统一规范有助于团队协作的进行。
了解并遵循Java编码规范,可以帮助开发人员编写出高质量的Java代码,从而提高代码质量,减少bug的出现,提高项目的稳定性。
此外,标准的Java编码规范可以方便代码的查看和维护,便于未来项目的扩展。
因此,遵循Java编码规范是每个Java开发人员的责任和义务。
java 华为软件开发规范(完整)
¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句。 示例:如下例子不符合规范。 rect.length = 0; rect.width = 0;
应如下书写
仅供内部使用
4
PDF Page Organizer - Foxit Software
软件编程规范总则
1 排版
rect.length = 0; rect.width = 0; ¹1-7:if、for、do、while、case、switch、default等语句自占一行,且 if、for、 do、while等语句的执行语句部分无论多少都要加括号{}。 示例:如下例子不符合规范。 if (pUserCR == NULL) return;
应如下书写: if (pUserCR == NULL) { return; } ¹1-8:对齐只使用空格键,不使用TAB键。 说明: 以免用不同的编辑器阅读程序时, 因 TAB 键所设置的空格数目不同而造成程序布局 不整齐,不要使用 BC 作为编辑器合版本,因为 BC 会自动将 8 个空格变为一个 TAB 键, 因此使用 BC 合入的版本大多会将缩进变乱。 ¹1-9:函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case 语句下的情况处理语句也要遵从语句缩进要求。 ¹1-10:程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一 列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以 及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 示例:如下例子不符合规范。 for (...) { ... // program code }
act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item );
Java语音编码规范 华为
Java语音编码规范(华为)【最新资料,WORD文档,可编辑修改】Java语言编码规范Prepared by拟制Date日期yyyy-mm-ddReviewed by 评审人Date日期yyyy-mm-ddApproved by批准Date日期yyyy-mm-ddRevision Record 修订记录Table of Contents 目录1.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
本规范适用于使用Java语言编程的产品和项目。
2.规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本规范。
3.术语和定义规则:编程时强制必须遵守的原则。
建议:编程时必须加以考虑的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释。
示例:对此规范或建议从正、反两个方面给出例子。
4.排版规范4.1.规则4.1.1.*程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
4.1.2.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
示例:如下例子不符合规范。
for (...) {... .){... . .){... .){... . ength() < ()){4.1.3.... ,后不应加空格。
说明:采用这种松散方式编写代码的目的是使代码更加清晰。
由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已经是最清晰的标志了。
java 编码规范
java 编码规范《Java编码规范》1. 代码风格- 代码缩进:使用4个空格进行缩进,不使用制表符。
- 行长限制:每行代码不超过80个字符,超出则进行换行。
- 行尾空格:行尾不留空格。
- 行尾注释:行尾注释与代码之间至少保留2个空格的距离。
- 命名规范:使用驼峰命名法,类名首字母大写,变量和方法名首字母小写。
- 常量命名:常量使用全大写字母,并用下划线分隔单词。
- 空行:类与方法之间保留一个空行,方法内逻辑块之间保留一个空行。
2. 注释规范- 文件注释:每个源文件的头部必须包含文件注释,说明该文件的作者、日期等信息。
- 类注释:每个类的头部必须包含类注释,描述该类的作用、用法等。
- 方法注释:每个方法必须包含方法注释,描述该方法的功能、参数、返回值等。
- 代码注释:在代码中需要加入注释说明的地方,添加合理的注释来增加代码可读性。
3. 包和导入规范- 包名规范:包名全部小写,多个包名之间用英文句点"."分隔,采用反域名形式命名。
- 导入规范:不要使用通配符"*"导入整个包,应明确导入所需的类。
4. 类和接口规范- 类结构顺序:依次按照成员变量、构造方法、普通方法的顺序来编写类的结构。
- 成员变量声明:先声明公有的静态常量,再声明私有的静态变量,接着声明私有的实例变量。
- 构造方法:在类的开头部分声明构造方法,按照方法名和参数顺序进行编写。
- 方法和变量:局部变量应放在使用的最近位置上,避免声明太早或太迟,增加代码的可读性。
5. 异常处理规范- 异常的捕获和处理:在可能发生异常的地方进行捕获和处理,而不是简单地将异常抛出给上层调用者。
- 不要捕获并忽略异常:捕获异常后应该进行适当的处理,而不是简单地将异常信息打印出来或者忽略它们。
6. 标准化代码结构- 采用分层结构:将代码按照功能、模块进行划分,每个模块或类负责一部分功能。
- 逻辑清晰:保持代码逻辑清晰,避免重复、冗余的代码,使用合适的设计模式来优化代码结构。
编码规范(华为)
软件编程规范总则
1 排版
¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低 优先级操作符处划分新行,操作符放在新行之首。 示例: if ((taskno < max_act_task_number) && (n7stat_stat_item_valid (stat_item))) { ... // program code }
act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item );
report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)
仅供内部使用
2
Simpo PDF Merge and Split Unregistered Version -
录
6 11 18 20 22 28 36 40 44 50 52 53
Simpo PDF Merge and Split Unregistered Version -
软件编程规范总则
1 排版
1 排版
¹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 (...) { ... // program code }
Java语言编程规范--华为01年
DKBA华为技术有限公司企业技术规范DKBA1040-2001.12代替(DKBA200106-003)Java语言编程规范2001-12-XX发布2001-12-XX实施华为技术有限公司发布目次前言 (3)1 范围112 规范性引用文件113 术语和定义114 排版规范124.1 规则121.*程序块要采用缩进风格编写,缩进的空格数为4个。
12122.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
133.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
4.*不允许把多个短语句写在一行中,即一行只写一条语句13135.*if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。
6.*相对独立的程序块之间、变量说明之后必须加空行。
137.*对齐只使用空格键,不使用TAB键。
14148.*在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
4.2 建议15151.类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。
5 注释规范165.1 规则161.一般情况下,源程序有效注释量必须在30%以上。
16162.包的注释:包的注释写入一个名为 package.html的HTML格式的说明文件放入当前路径。
163.包的注释内容:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权。
java编码规则
Java编码规则是指在编写Java代码时应该遵循的一些规范和约定。
这些规则可以帮助开发者提高代码的可读性、可维护性和可扩展性。
以下是一些常见的Java编码规则:
1. 命名规范:类名使用大写字母开头的驼峰式命名法,方法名和变量名使用小写字母开头的驼峰式命名法。
2. 缩进规范:每个缩进级别使用4个空格,而不是制表符,这样可以避免在不同的编辑器中出现不同的缩进距离。
3. 注释规范:每个类和方法都应该有文档注释,说明它们的作用、参数、返回值和异常等信息。
同时,对于复杂的代码块也应该添加注释。
4. 包命名规范:包名应该全部使用小写字母,并且应该基于域名反转命名。
例如,com.example.app。
5. 文件命名规范:类文件应该与类名相同,并使用驼峰式命名法。
例如,MyClass.java。
6. 代码风格规范:代码应该按照一定的风格排列,例如在每个方法之间应该有空行,在每个语句结束时应该使用分号,在括号周围不应该有空格等。
7. 异常处理规范:对于可能抛出异常的代码块,应该使用try-catch语句或者声明抛出异常。
同时,应该在捕获异常时至少打印异常信息。
8. 安全性规范:应该避免使用不安全的函数,例如eval()和exec()
等,应该使用安全的函数或者自己实现安全策略。
9. 性能规范:应该尽可能地优化代码,例如避免使用不必要的对象、减少方法调用次数等。
以上是一些常见的Java编码规则,当然还有很多其他的规则可以根据需要进行补充和完善。
华为软件编码规范
华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。
¹1-2:相对独立的程序块之间、变量说明之后必须加空行示例:如下例子不符合规范。
Int ni;if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写Int 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:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if ((taskno < max_act_task_number)&& (n7stat_stat_item_valid (stat_item))){... // program code}for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++){... // program code}for (i = 0, j = 0;(i < first_word_length) && (j < second_word_length);i++, j++){... // program code}¹1-5:若函数或过程中的参数较长,则要进行适当的划分示例:n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object),sizeof (_STAT_OBJECT));n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。
Java语言编程规范--华为01年
、DKBA华为技术有限公司企业技术规范代替(DKBA200106-003)^Java语言编程规范^2001-12-XX发布2001-12-XX实施华为技术有限公司发布目次前言 (3)1 范围112 规范性引用文件113 术语和定义114 排版规范12规则121.*程序块要采用缩进风格编写,缩进的空格数为4个。
12122.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
133.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
4.*不允许把多个短语句写在一行中,即一行只写一条语句13135.*if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。
6.*相对独立的程序块之间、变量说明之后必须加空行。
137.*对齐只使用空格键,不使用TAB键。
14148.*在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
建议15151.类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。
5 注释规范16规则161.一般情况下,源程序有效注释量必须在30%以上。
16162.包的注释:包的注释写入一个名为的HTML格式的说明文件放入当前路径。
163.包的注释内容:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权。
4.文件注释:文件注释写入文件头部,包名之前的位置。
165.文件注释内容:版权说明、描述信息、生成日期、修改历史。
华为软件编码规范
华为软件编码规范华为软件编程规范和范例〔一〕=====[排版] ]=======. 〔二〕======[注释]=======. 〔三〕=====[标识符命名]=======. 〔四〕=====[可读性]======. 〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====. 〔七〕=====[可测性]=====. 〔八〕=====[程序效率]=====. 〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====. 〔十一〕=====[代码测试、维护]=====. 〔十二〕=====[宏]=====.〔一〕 ========[ 排版 ]==========11-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。
11-2:相对独立的程序块之间、变量说明之后必须加空行示例:如下例子不符合规范。
Int ni;if (!valid_ni(ni)) {... // program code }repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 Int ni;if (!valid_ni(ni)) {... // program code }repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;11-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));11-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if ((taskno < max_act_task_number) && (n7stat_stat_item_valid(stat_item))) {... // program code }for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++) {... // program code }for (i = 0, j = 0;(i < first_word_length) && (j < second_word_length); i++, j++) {... // program code }11-5:若函数或过程中的参数较长,则要进行适当的划分示例:n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object), sizeof(_STAT_OBJECT));n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER + index, stat_object ); 11-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本说明:<html><body><p>一句话描述<p>详细描述<p>产品模块<br>公司版本信息</body></html>8.文件注释:写入文件头部,包名之前9.文件注释内容:版本说明,描述信息,修改历史,生成日期说明:/**文件名*版权*描述*修改人*修改时间*修改内容*跟踪单号*修改单号*/10.类和接口注释:放在package注释之后,class或interface之前11.类和接口注释内容:类的注释要一句话功能描述,功能详细描述说明:/***<一句话功能简述>*<功能详细描述>*@author*@version*@see [相关类/方法]*@since [产品/模块版本]*@deprecated (表示不建议使用该类或者接口)12.类属性,公有和保护方法注释:写在类属性,公有和保护方法上面13.成员变量注释内容:成员变量的意义,目的,功能,可能被用到的地方14.公有和保护方法注释的内容:方法的一句话功能描述,功能详细描述,输入参数,输出参数,返回值,违例说明:/***@param*@return*@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,SmpTransation31.方法名使用完整意义的英文描述,首字母小写,剩余字母首字母大写,其他字母小写示例: 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.常量名使用全大写英文,英文单词之间用下划线隔开,并使用finalstatic修饰示例:public final static int MAX_VALUE=1000;public final static String DEFAULT_START_DATE=“2008-11-06”;35.属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时用this,引用静态成员变量时用类名示例:public class Person{private String name;private static List properties;public void setName(String name){=name;}public void setProperties (List properties){Person. Properties= properties;}}36.常用组件的命名以组件名加上组件类型名结尾示例:Application类型的,命名以App结尾---MainApp;Frame类型的,建议命名以Frame结尾---TopoFrame;Panel类型的,建议命名以Panel结尾—CreateCircuitPanel;Bean类型的,建议命名以Bean结尾---DataAccessBean;EJB类型的,建议命名以EJB结尾--DBProxyEJB;Applet类型的,建议命名以Applet结尾---PictureShowApplet;37.函数名超过15个字母可采用去掉元音字母的方法或行业内约定俗成的缩写方式缩写函数名示例:getCustomerInformation()改为getCustomerInfo()38.准确的确定成员函数的存取控制符,不是必须使用public的请用protected,不是必须用protected的请用private示例:protected void setUserName()private void calculateRate()39.含有集合意义的属性命名,尽量包含复数的意义示例:customes;orderItems40.明确方法功能,精确实现方法设计,一个函数完成一个功能,简单的功能也要编写方法实现说明:虽然为仅用一两行就可以完成的功能去编写方法好像没有必要,但用方法可使功能明确化,增加程序可读性,亦可方便维护、测试。
41.明确规定对接口方法参数的合法性检查应由方法的调用者负责还是有接口方法本身负责,缺省由方法调用者负责说明:对于模块间接口方法参数的合法性检查这一问题,往往有两个极端现象,即:要么是调用者和被调用者对参数均不作合法性检查,结果就遗漏了合法性检查这一必要的处理过程,造成问题隐患,要么就是调用者和被调用者均对参数进行合法性检查,这种情况虽不会造成问题,但产生了冗余代码,降低了效率。
42.明确类的功能,精确实现类的设计,一个类仅实现一组相近功能说明:划分类的时候,应该尽量把逻辑处理、数据和显示分离。
实现类功能的单一性。
示例:数据类不能包含数组处理的逻辑通信类不能包含显示处理的逻辑43.所有的数据类必须重载toString()方法,返回该类有意义的内容说明:父类如果实现了比较合理的toString(),子类可以继承不必再重写。
示例: public TopoNode{private String nodeName;public String toString(){Return“NodeName:”+nodeName;}}44.数据库操作,IO操作要使用close()的对象要在try-catch-finally的finally中close()示例:try{45.往看不出出了什么错.46.一个方法不应抛出太多类型的异常47.异常捕获尽量不要直接catch(Exception ex),要把异常细分处理48.如果多段代码重复做同一件事情,那么在方法划分上可能存在问题49.对于创建的主要的类,最好置入main()方法,包含用于测试那个类的代码50.集合中的数据如果不使用应及时释放,尤其是可重复使用的集合51.源程序中关系紧密的代码应尽可能相邻52.不要使用难懂的技巧很高的语句,除非很有必要53.在switch中每个case后面要加上return或者break54.在运算中不要减少数据精度55.switch中的case要和后面的常量保持一个空格,switch语句中不要定义case之外的无用标签56.不要在if中使用等号=进行赋值57.静态成员或方法使用类名访问,不使用句柄访问58.方法重载时,方法名一定要相同,避免类中使用两个相似的方法名76.包的注释内容要求: 简述本包的作用详细描述本包的内容,产品模块名称和版本,公司版权77.不要在Componentlisttener,componentResied()方法中调用serResize()方法.78.不要覆盖父类的静态方法和私有方法79.不要覆盖父类的属性80.不要使用二级以上的内部类81.把内部类定义成私有类82.去掉接口中多余的定义(不使用public ,abstaract, static,final等这是接口默认的 )83.不要定义不会被用到得局部变量 ,类私有属性和私有方法和方法参数84.显示初始化所有的静态属性85.不要使用System,getenv()方法86.不要硬编码‘\n’‘\r’作为换行符87.不要直接使用里面的接口88.使用(), 不使用循环来复制数组89.避免不必要的instanceof 比较运算和类造型运算90.不要在finalize()方法中删除监听器(listeners)91.在finalize()方法中的finally中调用()方法92.在finalize()方法中调一定调用()方法93.进行字符转换的时候应该尽可能的较少临时变量94.使用ObjectStream的方法后,调用reset()释放对象95.线程同步中,在循环里面使用条件测试(使用while(isWait)wait()代替If(iswait)wait)96.不调用Thread类的resume(),suspend(),stop()方法97.减小单个方法的复杂度使用的if,while,for,switch语句要在10个以内98.在servelts中重用jdbc连接数据源99.减少在servle中使用的同步方法100.不定义在包中没有被用到的友好的属性,方法和类101.没有子类的友好类应该定义为final方法定义为final102.数据库操作,IO操作等需要使用结束close()的对象必须try-catch-catch-finally的finally中close().103.为switch语句提供一个default选项104.不要在for循环体中对计数器赋值105.不要给非公有类定义public构造器106.不要对浮点数进行比较运算如== != 减少< ,>运算107.实现equals() 方法时先用getClass()或者instanceof进行类型比较通过后才能继续比较108.不要重载main()方法用作除入口以外的其它用途109.方法的参数后不要和类中的方法名相同110.除了构建器外,不要使用和类名相同的方法名111.不要定义Error和RuntimeException的子类,可以定义Exception 的子类112.线程中需要实现run()方法113.使用equals()比较两个类的值是否相同114.字符串和数字运算结果连接的时候,应该是把数字运算部分用小括号括起来115.类中不要使用非私有(公有,保护,友好)的非静态属性116.在类中对于没有实现的接口应该定义成抽象方法,类应该定义成抽象类117.不要显示导入.*包118.初始化时不要使用类的非静态属性119.显示初始化时所有的局部变量,120.按照方法名把方法排序放置,同名和同类型的方法应该放在一起121.不要在抽象类的构造器中调用抽象方法122.重载equals()方法时应该重载hashcode()方法123.工具类不要定义构造器包括私有构造器124.不要在switch中使用10个以上的case语句125.把main()方法放在类的最后126.生命方法违例的时候不要使用Exception应该使用它的子类127.不要直接扔出一个error 应该扔出它的子类128.在进行比较的时候,总是把常量放在同一边129.在可能的情况下,总是为类定义一个缺省的构造器130.在捕捉异常的时候不使用Exception ,, RuntimException,,,, Throwable 最好用它子类131.在接口和工具类中定义常量,132.使用大写”L”表示long常量133.方法需要同样数量参数的注释用@param134.不要在注释中使用不支持的标示@unsupported135.不要使用Runtime,exec()方法136.不要使用自定义本地方法137.使用集合时初始化容量138.不要在循环体内调用同步方法和使用复杂的表达式139.不要在循环体内定义变量,140.使用StringBuffer时初始化容量141.少用!142.尽可能对接口进行instanceof运算143.不要显示调用finalize()144.不要使用静态集合其内存占用增长没有界限145.不要重复调用一个方法获取对象,使用局部变量重用对象146.线程中用notifyAll() 代替notify();147.避免在同步方法中调用另一个同步方法造成的死锁,148.非同步方法中不能调用wait() notify()方法149.不要使用同步方法,使用同步块150.用wait() notify() 代替while() sleep(),151.把所有的公有方法定义为同步方法152.实现Runable,run() 方法必须是同步方法153.在clone()方法中应该而且必须使用() 而不是new154.使用StringTokenizer代替indexof() 和substrin()155.不要对参数进行赋值156.不要使用String类的compareTo() equals()方法157.不要使用servler的SingletThreadModel 会消耗大量资源158.在Switch中每个Case语句都应该包含break或者return。