java 华为软件开发规范(完整)

合集下载

华为软件编程规范总则CHECKLIST

华为软件编程规范总则CHECKLIST

华为软件编程规范总则CHECKLISTAuthor: 华为Date:1 排版1-1:程序块要采用缩进风格编写,缩进的TAB键一个。

1-2:相对独立的程序块之间、变量说明之后必须加空行。

1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

1-5:若函数或过程中的参数较长,则要进行适当的划分。

1-6:不允许把多个短语句写在一行中,即一行只写一条语句。

1-7:if、while、for、default、do等语句自占一行。

1-8:对齐只使用TAB键,不使用空格键。

1-9:函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。

1-10:程序块的分界符(如C/C++语言的大括号'{'和'}')应各独占一行并且位于同一列,同时与引用它们的语句左对齐。

在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while0、switch、case 语句中的程序都要采用如上的缩进方式。

1-11:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

2 注释2-1:一般情况下,源程序有效注释量必须在20%以上。

2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。

2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。

华为-编程规范和范例

华为-编程规范和范例

目录1排版6 2注释11 3标识符命名18 4可读性20 5变量、结构22 6函数、过程28 7可测性36 8程序效率40 9质量保证44 10代码编辑、编译、审查50 11代码测试、维护52 12宏531排版¹1-11-1:程序块要采用缩进风格编写,缩进的空格数为:程序块要采用缩进风格编写,缩进的空格数为:程序块要采用缩进风格编写,缩进的空格数为44个。

说明:对于由开发工具自动生成的代码可以有不一致。

¹1-21-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-31-3:较长的语句(:较长的语句(:较长的语句(>80>80>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-41-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

华为软件开发行为规范

华为软件开发行为规范

软件开发行为规范第一版深圳市华为技术有限公司版权所有不得复制软件开发行为规范(第一版)为了把公司已经发布的软件开发过程规范有效地运作于产品开发活动中,把各种规范“逐步形成工程师的作业规范”,特制定本软件开发行为规范,以达到过程控制的目的。

与软件开发相关的所有人员,包括各级经理和工程师都必须遵守本软件开发行为规范。

对违反规范的开发行为,必须按照有关管理规定进行处罚。

本软件开发行为规范的内容包括:软件需求分析、软件项目计划、概要设计、详细设计、编码、需求管理、配置管理、软件质量保证、数据度量和分析等。

本软件开发行为规范,采用以下的术语描述:★规则:在软件开发过程中强制必须遵守的行为规范。

★ 建议:软件开发过程中必须加以考虑的行为规范。

★说明:对此规则或建议进行必要的解释。

★示例:对此规则或建议从正或反两个方面给出例子。

本软件开发过程行为规范由研究技术管理处负责解释和维护。

研究技术管理处。

3目录1 软件需求分析 52 软件项目计划93 概要设计114 详细设计145 编码186 需求管理197 软件配置管理218 软件质量保证239 数据度量和分析251软件需求分析1-1:软件需求分析必须在产品需求规格的基础上进行,并保证完全实现产品需求规格的定义。

1-2 :当产品的需求规格发生变更时,必须修订软件需求规格文档。

软件需求规格的变更必须经过评审,并保存评审记录。

1-3 :必须对软件需求规格文档进行正规检视。

1-4 :软件需求分析过程活动结束前,必须经过评审,并保存评审记录。

1-5 :在对软件需求规格文档的正规检视或评审时,必须检查软件需求规格文档中需求的清晰性、完备性、兼容性、一致性、正确性、可行性、易修改性、健壮性、易追溯性、易理解性、易测试性和可验证性、性能、功能、接口、数据、可维护性等内容。

说明:参考建议1-1到1-16。

1-1 :采用以下检查表检查软件需求规格文档中需求的清晰性。

1-2 :采用以下检查表检查软件需求规格文档中需求的完备性1-3 :采用以下检查表检查软件需求规格文档中需求的兼容性1-4 :采用以下检查表检查软件需求规格文档中需求的一致性。

华为公司编程语法规范

华为公司编程语法规范

目录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 软件需求分析52 软件项目计划93 概要设计114 详细设计145 编码186 需求管理197 软件配置管理218 软件质量保证239 数据度量和分析251 软件需求分析1-1:软件需求分析必须在产品需求规格的基础上进行,并保证完全实现产品需求规格的定义。

1-2:当产品的需求规格发生变更时,必须修订软件需求规格文档。

软件需求规格的变更必须经过评审,并保存评审记录。

1-3:必须对软件需求规格文档进行正规检视。

1-4:软件需求分析过程活动结束前,必须经过评审,并保存评审记录。

1-5:在对软件需求规格文档的正规检视或评审时,必须检查软件需求规格文档中需求的清晰性、完备性、兼容性、一致性、正确性、可行性、易修改性、健壮性、易追溯性、易理解性、易测试性和可验证性、性能、功能、接口、数据、可维护性等内容。

说明:参考建议1-1到1-16。

1-1:采用以下检查表检查软件需求规格文档中需求的清晰性。

1-2:采用以下检查表检查软件需求规格文档中需求的完备性。

Java软件开发规范

Java软件开发规范

JAVA软件开发规范一、绪论1.1概述随着公司上ERP项目,为统一开发技术规范,缩短开发周期,进一步提高项目质量,降低后期维护难度,迫切需要一个更完善、专业、有效的开发规范。

本规范的目的是使本科室JAVA开发能以统一、标准的、规范的方式设计和编码。

通过建立开发规范,使每个开发人员养成良好的开发风格和习惯;提高程序的可靠性、可读性、可维护性和一致性等,提高程序员的开发水平,增进团队间的交流,并保证软件产品的质量。

1.2适用范围本规范适用于本公司所有JAVA软件项目、产品等的设计、开发以及维护等。

所有JAVA软件开发人员在整个软件开发过程中必须遵循此规范。

二、总体框架2.1框架概述本公司JAVA开发的软件产品多为B/S结构,涉及多个层面的开发,为便于逻辑分离及项目分工,开发的软件产品应当符合MVC设计模式,基础框架使用SSH(spring+hibernate+struts2)MVC基础框架。

2.2框架规范旧框架中Servlet层应当仅负责宏观层面的业务逻辑,不进行具体的数据访问,新框架中Action组件负责事务同旧框架中的Servlet层组件。

Model由开发人员自己实现。

hibernate是将原来的 DAO部分,就是数据库部分,进行数据持久化,可以理解为数据库的接口和对数据库的操作之一。

spring是管理容器的角色,降低耦合度,方便管理。

2.2.1 Hibernate DAO规范DAO为数据访问组件,用于访问持久性数据,例如为关系型数据库。

本规范要求DAO对象必须直接或间接继承数据访问组件的基础类com.yonggang.framework.hibernate.HibernateDAOSupport ,该基类已经实现了hibernate通用的查询,更新,插入,删除,分页查询等操作,业务类继承该类后即可使用HibernateDAOSupport提供的hibernate数据库操作方法。

DAO处理完正常逻辑后设置本次处理后用于界面提示的消息。

华为软件开发规范

华为软件开发规范

软件开发行为规范第一版深圳市华为技术有限公司版权所有不得复制软件开发行为规范(第一版)为了把公司已经发布的软件开发过程规范有效地运作于产品开发活动中,把各种规范“逐步形成工程师的作业规范”,特制定本软件开发行为规范,以达到过程控制的目的。

与软件开发相关的所有人员,包括各级经理和工程师都必须遵守本软件开发行为规范。

对违反规范的开发行为,必须按照有关管理规定进行处罚。

本软件开发行为规范的内容包括:软件需求分析、软件项目计划、概要设计、详细设计、编码、需求管理、配置管理、软件质量保证、数据度量和分析等。

本软件开发行为规范,采用以下的术语描述:★规则:在软件开发过程中强制必须遵守的行为规范。

★建议:软件开发过程中必须加以考虑的行为规范。

★说明:对此规则或建议进行必要的解释。

★示例:对此规则或建议从正或反两个方面给出例子。

本软件开发过程行为规范由研究技术管理处负责解释和维护。

研究技术管理处目录1 软件需求分析 52 软件项目计划93 概要设计114 详细设计145 编码186 需求管理197 软件配置管理218 软件质量保证239 数据度量和分析251 软件需求分析1-1:软件需求分析必须在产品需求规格的基础上进行,并保证完全实现产品需求规格的定义。

1-2:当产品的需求规格发生变更时,必须修订软件需求规格文档。

软件需求规格的变更必须经过评审,并保存评审记录。

1-3:必须对软件需求规格文档进行正规检视。

1-4:软件需求分析过程活动结束前,必须经过评审,并保存评审记录。

1-5:在对软件需求规格文档的正规检视或评审时,必须检查软件需求规格文档中需求的清晰性、完备性、兼容性、一致性、正确性、可行性、易修改性、健壮性、易追溯性、易理解性、易测试性和可验证性、性能、功能、接口、数据、可维护性等内容。

说明:参考建议1-1到1-16。

1-1:采用以下检查表检查软件需求规格文档中需求的清晰性。

1-2:采用以下检查表检查软件需求规格文档中需求的完备性。

华为编程规范全PDF

华为编程规范全PDF

// 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author:
Modification:
2. ... *************************************************/
¹2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、 主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包 含在内。
由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格, 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不 必加空格,因为在 C/C++语言中括号已经是最清晰的标志了。 在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操 作符留空格时不要连续留两个以上空格。 示例: (1) 逗号、分号只在后面加空格。 int a, b, c;
Version:
// 版本信息
Function List: // 主要函数及其功能
1. -------
History:
// 历史修改记录
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length) && (j < NewKeyword.word_length); i++, j++)

华为软件编程规范和范例

华为软件编程规范和范例

华为软件编程规范和范例1. 排版11.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语言编程规范(华为公司)

Java语言编程规范(华为公司)

DKBA华为技术有限公司企业技术规范DKBAXXXX-2001.12代替(DKBA200106-003)Java语言编程规范2001-12-XX发布2001-12-XX实施华为技术有限公司发布VVVVVVV VVVVVVVVVVVX。

XVX.X VX.X VX.X VX.XVX.X目次前言 .............................................................................. .. (3)1 范围112 规范性引用文件113 术语和定义114 排版规范124.1 规则121.*程序块要采用缩进风格编写,缩进12的空格数为4个。

122.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。

在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

133.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

134.*不允许把多个短语句写在一行中,即一行只写一条语句5.*if, for, do, while, case,13switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。

6.*相对独立的程序块之间、变量说明13之后必须加空行。

7.*对齐只使用空格键,不使用TAB键。

14VVVVVVV VVVVVVVVVVVX。

XVX.X VX.X VX.X VX.XVX.X8.*在两个以上的关键字、变量、常量14进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。

4.2 建议15151.类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。

华为软件编程规范和范例A

华为软件编程规范和范例A

1. ....
History:
//修改历史记录列表,每条修改记录应包括修改日期、修改 //者及修改内容简述
1. Date:
Author:
Modification:
2. ...
*************************************************/
2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功 能、主要函数及其功能、修改日志等。
report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER) && (n7stat_stat_item_valid (stat_item)) && (act_task_table[taskno].result_data != 0));
第 2页
1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在 低优先级操作符处划分新行,操作符放在新行之首。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要
包含在内。
/************************************************************
Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.
if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。

华为Android平台Java编程规范

华为Android平台Java编程规范

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编码规范介绍

华为JAVA编码规范介绍1.程序块采用缩进风格,空格为4个.说明:对于开发工具自动生成的代码可以不一致2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进说明:for(…){…//your code}3.较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读.说明:if(filename != null&& new File(logPath+filename).length() < logConfig.getFileSize()){…//your code}4.一行只写一条语句说明:LogFilename wow = null;LogFilename that = null;5.if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{}说明:if(writeToFile){writeFileThread.interrupt();}6.相对独立的程序块,变量,说明要加空行说明:if(log.getLevel() < log.getRecord()){return ;}//空行LogWrite writer;7.对齐只用空格键,不用TAB键说明:以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开8.两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符)说明:采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格9.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置说明:类定义:{类公有属性定义;类保护属性定义;类私有属性定义;类公有方法定义;类保护方法定义;类私有方法定义;}10.源程序的有效注释量必须在30%以上11.包的注释写入一个名为package.html的html格式的说明文件放入当前路径12.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本说明:一句话描述详细描述产品模块公司版本信息13.文件注释:写入文件头部,包名之前14.文件注释内容:版本说明,描述信息,修改历史,生成日期说明:/**文件名*版权*描述*修改人*修改时间*修改内容*跟踪单号*修改单号*/15.类和接口注释:放在package注释之后,class或interface之前16.类和接口注释内容:类的注释要一句话功能描述,功能详细描述说明:/***<一句话功能简述>*<功能详细描述>*@author*@version*@see [相关类/方法]*@since [产品/模块版本]*@deprecated (表示不建议使用该类或者接口)17.类属性,公有和保护方法注释:写在类属性,公有和保护方法上面18.成员变量注释内容:成员变量的意义,目的,功能,可能被用到的地方19.公有和保护方法注释的内容:方法的一句话功能描述,功能详细描述,输入参数,输出参数,返回值,违例说明:/***@param*@return*@exception /throws*/20.对于方法内部用throw抛出的异常,要在方法的注释中标明,对于调用其他方法抛出的异常,选主要的在注释中说明,对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明21.注释应与描述的代码相近,对代码的注释应放在代码上方或者右方(单行注释)相邻位置,不可放在下面,如放于上方则与上面代码用空行隔开22.注释与描述的内容进行同样的缩进23.对变量的定义和分支语句,必须加以注释24.对于switch下的case语句,如果处理完一个case要进入下一个case,必须在该case处理完,下一个case前加上明确的注释说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句25.边写代码边写注释,修改代码同时修改注释保证代码和注释一致,没用的注释要删除26.注释内容要清楚,明了,含义明确,防止二义性27.不要在注释中用缩写说明:除非必要,在使用缩写时或之前,应对缩写进行必要的说明28.不要在一行代码或表达式中间加注释说明:除非必要,不应在代码或表达式中间插入注释,否则容易使代码可理解性变差。

java编码规范(华为)

java编码规范(华为)

Java语言编码规范Prepared by拟制Date日期yyyy-mm-ddReviewed by Date评审人日期yyyy-mm-dd Approved by Dateyyyy-mm-dd 批准日期Copyright ? Worksoft Creative Software Technology NanJing Branch , Ltd. Page 2, Total 30Revisi on Record 修订记录WQRK H^FTJava 编码规范Table of Contents 目录1. 范围 (4)2. 规范性引用文件 (4)3. 术语和定义 (4)4. 排版规范 (5)4.1. 规则 (5)4.2. 建议 (7)5. 注释规范 (9)5.1. 规则 (9)5.2. 建议 (14)6. 命名规范 (17)6.1. 规则 (17)6.2. 建议 (18)7. 编码规范 (20)7.1. 规则 (20)7.2. 建议 (24)8. JTEST 规范 (26)8.1. 规则 (26)8.2. 建议 (27)1. 范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。

本规范适用于使用Java语言编程的产品和项目。

2. 规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。

凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。

凡是不注日期的引用文件,其最新版本适用于本规范。

3. 术语和定义规则:编程时强制必须遵守的原则。

建议:编程时必须加以考虑的原则。

格式:对此规范格式的说明。

说明:对此规范或建议进行必要的解释。

示例:对此规范或建议从正、反两个方面给出例子。

4. 排版规范4.1. 规则4.1.1. *程序块要采用缩进风格编写,缩进的空格数为4个。

说明:对于由开发工具自动生成的代码可以有不一致。

(完整版)华为软件编程规范

(完整版)华为软件编程规范

文档编号产品版本受控状态DC-SB-2003-1005V 1.0 内部产品名称:软件编程规范共页软件编程规范(仅供内部使用)北京世纪百合科技有限公司Beijing Centurial Lily Technology Co.,Ltd.版权所有不得复制文档修改记录目录1.引言 (4)1.1 目的 (4)1.2 范围 (4)2.规范 (4)2.1 文件 (4)2.2版面风格 (8)2.3 标识符命名 (12)2.4 函数与宏 (14)2.5 代码的可靠性 (18)3.附录:通用类型的公共定义 (23)1.引言1.1目的本规范的目的在于增加源代码的可读性,减少程序员对代码理解上的偏差,使程序员能够编写出可靠的代码,降低代码维护成本。

1.2范围本规范内容涉及范围包括:文件、版面、注释、标识符、变量和结构、函数、宏以及可理解性等。

本规范适用于公司开发的所有软件产品。

在新软件的编码过程中本规范必须执行。

2.规范2.1文件2.1.1头文件的名称一律为小写,格式为“子系统名_文件名.h”。

例如:ipf_protocol.h等。

2.1.2头文件的格式如下:➢注释头,格式参见软件编程规范;➢头文件预编译开关开始,格式为:#ifndef 预编译开关#define 预编译开关其中预编译开关格式为:“ _文件名_H”,其中文件名一律大写➢头文件内容;➢头文件预编译开关结束,格式为:#endif用来和头文件预编译开关的开始对应。

例如:以下为ipf_ip.h头文件的内容:/************************************************************ Copyright (c) Lily Of The Century Technology Co., LTD.ALL RIGHTS RESERVEDDescription: // 用于详细说明此程序文件完成的主要功能*************************************************************/#ifndef _IPF_IP_H#define _IPF_IP_H...<头文件正文>...#endif2.1.3头文件的定义要有层次,禁止交叉引用。

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

¹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 );
report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)
仅供内部使用
2
PDF Page Organizer - Foxit Software
<author> <time> David 96/10/12
build this moudle
***********************************************************/ 说明:Description 一项描述本文件的内容、功能、内部各部分之间的关系及本文件与 其它文件关系等。History 是修改历史记录列表,每条修改记录应包括修改日期、修改 者及修改内容简述。 ¹2-4:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用 关系(函数、表)等。 示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含 在内。 /************************************************* Function: Description: Calls: Called By: // 函数名称 // 函数功能、性能等的描述 // 被本函数调用的函数清单 // 调用本函数的函数清单
示例: (1) 逗号、分号只在后面加空格。 int a, b, c;
仅供内部使用
6
PDF Page Organizer - Foxit Software
软件编程规范总则
1 排版
(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、 "&",位域操作符"<<"、"^"等双目操作符的前后加空格。 if (current_time >= MAX_TIME_VALUE) a = b + c; a *= 2; a = b ^ 2;
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;
// 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系
Others:
// 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1. .... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. ... *************************************************/ ¹2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、 主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要 包含在内。
if (...) { ... // program code }
仅供内部使用
5
PDF Page Organizer - Foxit Software
软件编程规范总则
1 排版
void example_fun( void ) { ... // program code }
应如下书写。 for (...) { ... // program code }
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。 *p = 'a'; // 内容操作"*"与内容之间
flag = !isEmpty; // 非操作"!"与内容之间 p = &mem; i++; // 地址操作"&" 与内容之间 // "++","--"与内容之间
¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低 优先级操作符处划分新行,操作符放在新行之首。 示例: if ((taskno < max_act_task_number) && (n7stat_stat_item_valid (stat_item))) { ... // program code }
PDF Page Organizer - Foxit Software


6 11 18 20 22 28 36 40 44 50 52 53
1 排版 2 注释 3 标识符命名 4 可读性 5 变量、结构 6 函数、过程 7 可测性 8 程序效率 9 质量保证 10 代码编辑、编译、审查 11 代码测试、维护 12 宏
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 );
(4)"->"、"."前后不加空格。 p->id = pid; // "->"指针前后不加空格
(5) if、for、while、switch 等与后面的括号间应加空格,使 if 等关键字更为突出、 明显。 if (a >= b && c > d) ½1-1:一行程序以小于80字符为宜,不要写得过长。
if (...) { ... // program code }
void example_fun( void ) { ... // program code } ¹1-11:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或 者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空 格。 说明:采用这种松散方式编写代码的目的是使代码更加清晰。 由于留空格所产生的清晰性是相对的, 所以, 在已经非常清晰的语句中没有必要再留空格, 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格, 多重括号间 不必加空格,因为在 C/C++语言中括号已经是最清晰的标志了。 在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给 操作符留空格时不要连续留两个以上空格。
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:若函数或过程中的参数较长,则要进行适当的划分。 示例:
相关文档
最新文档