- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内部资料,注意保密
编程规范教材
目录
前言 软件编程规范总则 3
第一章 排版 4
第二章 注释 11
第三章 标识符命名 19
第四章 可读性 22
第五章 变量、结构 25
第六章 函数、过程 33
第七章 可测性 43
第八章 程序效率 48
第九章 质量保证 53
第十章 代码编辑、编译、审查 60
第十一章 代码测试、维护 62
第十二章 宏 64
前言 软件编程规范总则
为了提高源程序的质量和可维护性,最终提高公司软件产品生产力,我们有必要对公司软件产品的源程序的编写风格作出统一的规范约束。
本规范总则是独立于具体语言的编程规则的总的原则,针对不同编程语言或应用环境的编程规范在遵守本规范总则的基础上,还必须遵守相应语言和就用环境的编程规范。本规范总则适用于公司所有产品以及对外合作委托开发产品的软件源程序。
本规范总则的内容包括:排版、注释、标识符命名、变量使用、代码可测性、程序效率、质量保证、代码编译、单元测试、程序版本与维护等。
本规范总则的示例都以C语言为背景,采用以下的术语描述:
★ 规则:编程时强制必须遵守的原则。
★ 建议:编程时必须加以考虑的原则。
★ 说明:对此规则或建议进行必要的解释。
★ 示例:对此规则或建议从正、反两个方面给出例子。
第一章 排版
1-1:程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。
唯一例外的是编译开关和宏定义。如下各举一个例子:
编译开关例子:
int SendMsg(EXEC_MSG* pMsg)
{
#ifdef _UNIT_DEBUG
DoTestFunc(pMsg);
#else
DoFunc(pMsg);
#endif
}
宏定义的例子:
int SendMsg(EXEC_MSG* pMsg)
{
#define SET_MSG_HEAD \
if (pMsg)\
{ \
SetMsgHead(pMsg); \
} \
else \
{ \
SetMsgHeadZero(); \
}
... // 函数其它代码
}
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));
长语句分多行书写比较美观。
在
您可能关注的文档
最近下载
- 数据结构—Python语言描述张光河习题答案解析.pdf
- 河师大焦争鸣张万琴版线性代数答案解析.pdf VIP
- 广东省湛江市2022年学年小升初数学最后模拟卷.doc VIP
- 广东省东莞市2023-2024学年高一下学期7月期末英语试题(解析版).docx VIP
- SY∕T 7036-2016 石油天然气站场管道及设备外防腐层技术规范.pdf VIP
- 湛江市2024届小升初模拟数学测试卷含解析.doc VIP
- 老年高血压特点及临床诊治流程专家共识(2024)解读PPT课件.pptx VIP
- 成本会计学第9版张敏.pdf VIP
- 公路养护日常小修保养施工组织设计 附公路隧道施工技术规范.doc VIP
- 国家开放大学电大《组织行为学》机考终结性2套题库及答案.doc VIP
文档评论(0)