华为软件开发规范1

合集下载

华为编程规范

华为编程规范

华为编程规范1 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个(注:不同代码编辑器的TAB制表符不同可能造成一定的问题,1-8中将提到)说明:对于由开发工具自动生成的代码可以有不一致。

¹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:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例: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:若函数或过程中的参数较长,则要进行适当的划分。

华为软件编码规范

华为软件编码规范

华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹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:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。

华为编程规范

华为编程规范

华为编程规范华为是一家世界知名的信息通信技术(ICT)解决方案供应商,为全球超过170个国家和地区的企业和消费者提供产品和服务。

在华为的软件开发过程中,编程规范起着至关重要的作用。

良好的编程规范有助于提高代码的质量和可维护性,减少错误和调试时间,提高开发效率。

以下是华为编程规范的一些核心要点:1. 命名规范:变量、函数、类等命名应具有清晰的含义,并遵循驼峰命名法。

变量和函数名应尽量简短明了,避免使用无意义的名字。

同时,要避免使用拼音或缩写,提高代码的可读性。

2. 注释规范:良好的注释是代码可读性的重要组成部分。

应在需要解释的地方进行注释,对于复杂的算法和逻辑,要详细解释思路和实现方法。

此外,对于代码片段的用途,也可以加上简短的注释。

注释应使用英文,避免使用拼音或其他不常见的语言。

3. 缩进和空格:合理的缩进和空格可以提高代码的可读性。

在华为的编程规范中,使用四个空格作为一个缩进层级。

在运算符和逗号等地方留有适当的空格,使代码更易于阅读。

4. 函数规范:函数应尽量简短,一个函数应有一个明确的目的。

函数命名要具有清晰的语义,能够准确描述函数的功能。

参数应尽量避免过多,遵循最小化设计原则。

5. 异常处理:在代码中应该考虑到可能出现的异常情况,并进行相应的处理。

捕获异常后,应该写明异常类型,并书写明确的处理逻辑。

6. 安全性考虑:在编写代码时,应始终考虑安全性。

避免使用已知存在安全漏洞的函数和方法,对于输入的数据进行合理的校验和过滤,防止代码被恶意攻击者利用。

7. 代码格式化:代码格式化可以提高代码的可读性,使代码更易于维护。

在华为的编程规范中,要求使用一致的缩进和空格,合理分行和对齐,并采用一致的命名风格。

8. 可移植性:考虑到不同平台和操作系统的差异,编写代码时应注重可移植性。

避免使用与操作系统和平台相关的特性和函数,尽量使用标准库和接口。

9. 性能优化:在编写代码时,应注重性能优化。

避免不必要的计算和内存开销,合理选择数据结构和算法。

华为公司编程语法规范

华为公司编程语法规范

目录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:采用以下检查表检查软件需求规格文档中需求的完备性。

华为程序开发规范

华为程序开发规范

Panorama系统程序开辟规范之二1.匈牙利命名规则变动前缀类型a Arrayb Booleanby Bytec Char //有符号型字符cb Char Byte //无符号型字符(没多大用处)cr ColorRef //颜色参考值cx,cy Length of x,y (ShortInt) //坐标差(长度)dw Double Wordfn Functionh Handlei Integerm_ Member of a classn Short Integernp Near Pointerp Pointer lp Long Pointer×(str) s Stringsz String with Zero End //以字符结尾的字符串tm Text //文本内容w Wordx,y Coordinate //坐标2.Panorama系统的命名约定2.1 VC中变量命名时的前缀约定Array a... //例:CStringArray saTextBOOL b...UINT n...int i...short n...long l...WORD w...DWORD dw...float f...char c...char* psz...TCHAR* psz...LPCTSTR lpsz...CString str...COLORREF cr...LPLOGPALETTE lp... (包括LP开头的类型都是这样)POINT pt...CPoint pt...HANDLE h...HGLOBAL h... (包括H开头的类型都是这样)说明:1.如果是指向上述类型的指针,就在上面规范前加2.如果是指向上述类型的双重指针,就在上面规范前加3.如果是类成员变量,则在上面规范前加4.全局变量,则在上面规范前加5.在类型前加了命名约定不变;2.2 VC中变量命名时的后缀约定1.MFC类CWnd* p...Wnd 省去的地方普通为该类的用途(如果是某一个类的成员,则还应该在前加又如:CView* p...View2.3 局部变量应尽量易懂简洁,使用常见的变量,如Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename暂时变量,如ltmp,ftmp,tmpStr,tempStr 。

华为CC语言编程规范

华为CC语言编程规范

百度文库- 让每个人平等地提升自我目录1 排版 (2)4 可读性 (11)6 函数、过程 (13)7 可测性 (14)1 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。

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

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

示例:如下例子不符合规范。

if (!valid_ni(ni)){... epssn_index;repssn_ni = ssn_data[index].ni;应如下书写if (!valid_ni(ni)){... epssn_index;repssn_ni = ssn_data[index].ni;¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

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

华为软件编程规范

华为软件编程规范

总体原则•清晰,易于维护、易于重构•简洁,易于理解,并且易于实现• 风格统一,代码整体风格保持统一• 通用性,遵循业界通用的编程规范目录结构建议将工程按照功能模块划份子目录(可参考头文件和源文件目录。

命名LiteOS 的功能模块划分),子目录再定义• 使用驼峰风格进行命名,此风格大小写字母混用,不同单词间通过单词首字母大写来分开,具体规则如下:大驼峰,或者带有模块函数,自定义的类型前缀的大驼峰局部变量,函数参数,宏参数,结构体成员,联合体成员全局变量宏,枚举值小驼峰带'g_'前缀的小驼峰全大写并下划线分割带'_LOS'前缀和'H'内核头文件中防止重复包含的宏变量以下划线分割AaaBbb,XXX_AaaBbb aaaBbbg_aaaBbbAAA_BBB_LOS_MODULE_H• 全局函数、全局变量、宏、类型名、枚举名的命名,应当准确描述并全局惟一后缀,中间为大写模块名,• 在能够准确表达含义的前提下,局部变量,或者结构体、联合体的成员变量,其命名应尽可能简短• LiteOS 的对外API 使用LOS_Module_Func 的方式,如果有宾语采用前置的方式,比如:1. LOS_TaskCreate2. LOS_SwtmrStart3. LOS_SemPendkernel 目录下内部模块间接口使用OsModuleFunc 的方式,比如:1. OsTaskScan2. OsSwtmrStartarch 目录需要给上层模块提供LowLevel 接口,这部份接口采用ArchModuleFunc 的方式。

其他情况可采用ModuleFunc 的方式。

排版与格式•程序块采用缩进风格编写,使用空格而不是制表符( '\t' )进行缩进,每级缩进为 4 个空格• 采用K&R 风格作为大括号换行风格,即函数左大括号另起一行放行首,并独占一行,其他左大括号尾随语句放行末,右大括号独占一行,除非后面跟着同一语句的剩余部份,如if 语句的else/elseif 或者分号,比如:1. struct MyType {//左大括号尾随语句放行末,前置 1 个空格2. ...3. };//右大括号后面紧跟分号1. int Foo (int a)2. {//函数左大括号独占一行,放行首3. if(a>0){//左大括号尾随语句放行末,前置 1 个空格4. ...5. }else {//右大括号、 "else" 、以及后续的左大括号均在同一行6. ...7. }//右大括号独占一行8. ...9. }•条件、循环语句使用大括号,比如:1. if(objectIsNotExist){ //单行条件语句也加大括号2. return CreateNewObject ();3. }1. while (condition){} //即使循环体是空,也应使用大括号1. while (condition){2. continue ;//continue 表示空逻辑,使用大括号3. }•case/default 语句相对switch 缩进一层,缩进风格如下:1. switch (var){2. case 0://缩进一层3. DoSomething1 ();//缩进一层4. break ;5. case 1 :6. DoSomething2 ();7. break ;8. default :9. break ;10. }•一行只写一条语句• 一条语句不能过长,建议不超过120 个字符,如不能缩短语句则需要分行写• 换行时将操作符留在行末,新行进行同类对齐或者缩进一层,比如:1. //假设下面第一行不满足行宽要求2. if(currentValue>MIN&& //换行后,布尔操作符放在行末3. currentValue<MAX){ //与 (&&)操作符的两个操作数同类对齐4. DoSomething ();5. ...6. }1. //假设下面的函数调用不满足行宽要求,需要换行2. ReturnType result= FunctionName (paramName1,3. paramName2,4. paramName3); //保持与上方参数对齐1. ReturnType result= VeryVeryVeryLongFunctionName (// 写入第 1 个参数后导致过长,直接换行2. paramName1,paramName2,paramName3); //换行后, 4 空格缩进一层1. //每行的参数代表一组相关性较强的数据结构,放在一行便于理解,此时可理解性优先于格式排版要求2. int result= DealWithStructLikeParams (left.x,left.y, //表示一组相关参数3. right.x,right.y); //表示此外一组相关参数• 声明定义函数时,函数的返回类型以及其他修饰符,与函数名同行• 指针类型"*" 应该靠右尾随变量或者函数名,比如:1. int*p1;//Good :右尾随变量,和左边的类型隔了 1 个空格2. int*p2;//Bad :左尾随类型3. int*p3;//Bad :两边都没空格4. int*p4;//Bad :两边都有空格当"*"与变量或者函数名之间有其他修饰符,无法尾随时,此时也不要尾随修饰符,比如:1. char *const VERSION= "V100" ;//Good :当有 const 修饰符时, "*"两边都有空格2. int Foo (constchar *restrictp); //Good :当有 restrict 修饰符时, "*"两边都有空格•根据上下内容的相关程度,合理安排空行,但不要使用连续 3 个或者更多空行• 编译预处理的"#"统一放在行首,无需缩进。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
者及修改内容简述。
¹2-4:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用 关系(函数、表)等。
示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含
在内。
/*************************************************
Description: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
Others:
// 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1. .... History:
FileName: test.cpp
Author:
Version :
Description: // 模块描述
Date:
Version:
// 版本信息
Function List: // 主要函数及其功能
1. -------
History:
// 历史修改记录
<author> <time> <version > <desc>
示例:如下例子不符合规范。 for (...) {
... // program code }
if (...) { ... // program code }
仅供内部使用 5
软件编程规范总则
1 排版
void example_fun( void ) { ... // program code }
应如下书写。 for (...) {
David 96/10/12 1.0 build this moudle
***********************************************************/
说明:Description 一项描述本文件的内容、功能、内部各部分之间的关系及本文件与
其它文件关系等。History 是修改历史记录列表,每条修改记录应包括修改日期、修改
示例: (1) 逗号、分号只在后面加空格。 int a, b, c;
仅供内部使用 6
软件编程规范总则
1 排版
(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、 "&",位域操作符"<<"、"^"等双目操作符的前后加空格。 if (current_time >= MAX_TIME_VALUE) a = b + c; a *= 2; a = b ^ 2;
¹1-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;
// 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author: Modification: 2. ...
*************************************************/
¹2-3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、 主要函数及其功能、修改日志等。
do、while等语句的执行语句部分无论多少都要加括号{}。
示例:如下例子不符合规范。 if (pUserCR == NULL) return;
应如下书写: if (pUserCR == NULL) {
return; }
¹1-8:对齐只使用空格键,不使用TAB键。 说明:以免用不同的编辑器阅读程序时,因 TAB 键所设置的空格数目不同而造成程序布局 不整齐,不要使用 BC 作为编辑器合版本,因为 BC 会自动将 8 个空格变为一个 TAB 键, 因此使用 BC 合入的版本大多会将缩进变乱。
... // program code }
if (...) {
... // program code }
void example_fun( void ) {
... // program code }
¹1-11:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或 者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空 格。
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 );
{ ... // program code
}
for (i = 0, j = 0; (i < first_word_length) && (j < second_word_length); i++, j++)
{ ... // program code
}
¹1-5:若函数或过程中的参数较长,则要进行适当的划分。 示例:
¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句。 示例:如下例子不符合规范。 rect.length = 0; rect.width = 0;
应如下书写
仅供内部使用 4
软件编程规范总则
1 排版
rect.length = 0; rect.width = 0;
¹1-7:if、for、do、while、case、switch、default等语句自占一行,且if、for、
(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。
*p = 'a';
// 内容操作"*"与内容之间
flag = !isEmpty; // 非操作"!"与内容之间
p = &mem;
// 地址操作"&" 与内容之间
i++;
// "++","--"与内容之间
(4)"->"、"."前后不加空格。 p->id = pid; // "->"指针前后不加空格
¹2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应
进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的
关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要
Input:
// 输入参数说明,包括每个参数的作
// 用、取值说明及参数间关系。
Output: Return: Others:
// 对输出参数的说明。 // 函数返回值的说明 // 其它说明
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要 包含在内。
仅供内部使用 8
软件编程规范总则
2 注释
/************************************************************
Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.
示例:
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;
Function:
// 函数名称
Description: // 函数功能、性能等的描述
Calls:
// 被本函数调用的函数清单
Called By:
// 调用本函数的函数清单
Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)
Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)
(5) if、for、while、switch 等与后面的括号间应加空格,使 if 等关键字更为突出、 明显。 if (a >= b && c > d)
½1-1:一行程序以小于80字符为宜,不要写得过长。
相关文档
最新文档