- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件编程规范-C/C++篇
(试用版)
中兴通讯股份有限公司
手机事业部软件部
版权所有 不得复制
修订记录
日 期 修订版本 描 述 修改人 2004-12-30 试用版 初稿完成 杨玥 2005-1-6 试用版 收集开发人员的意见,并对初稿进行了修订 杨玥 2005-1-14 试用版 EPG小组第一次评审,对注释和函数命名规则进行了修改 杨玥
目 次
1 范围 3
2 术语和定义 3
2.1 规则 3
2.2 建议 3
2.3 说明 3
2.4 正例 3
2.5 反例 3
3 基本原则 3
4 布局 4
4.1 文件布局 4
4.2 注释 6
4.3 基本格式 11
4.4 对齐 12
4.5 空行空格 14
4.6 断行 15
5 命名规则 16
6 变量、常量与类型 20
6.1 变量与常量、宏 21
6.2 类型 24
7 表达式与语句 29
8 函数与过程 34
8.1 参数 35
8.2 返回值 36
8.3 内部实现 36
8.4 函数调用 39
9 可靠性 41
9.1 内存使用 41
9.2 指针使用 43
9.3 类和函数 44
10 可测试性 49
11 断言与错误处理 51
手机软件编程规范 — C/C++
前言
本规范规定了手机软件开发中C/C++语言的编程规范。
本规范适用于手机软件部内使用C/C++语言编码的所有手机软件。本规范自生效之日起,对以后新编写的和修改的代码有约束力。
在本规范中没有说明的,请按照公司制订的《软件编程规范 — C/C++》执行,对于本规范与《软件编程规范 — C/C++》相冲突的内容,以本规范为准。对于特定平台或项目相关的规范,还应参考特定平台的编码规范。比如对于BREW平台,应遵循《基于BREW平台的软件编程规范》
术语和定义
下列术语和定义适用于本标准。
规则
编程时必须遵守的约定。
建议
编程时必须加以考虑的约定。
说明
对此规则或建议的必要的解释。
正例
对此规则或建议给出的正确例子。
反例
对此规则或建议给出的反面例子。
基本原则
【原则】首先是为人编写程序,其次才是计算机。 说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。
【原则】保持代码的简明清晰,避免过分的编程技巧。 说明:简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。
【原则】所有的代码尽量遵循ANSI C标准。 说明:所有的代码尽可能遵循ANSI C标准,尽可能不使用ANSI C未定义的或编译器扩展的功能。
【原则】编程时首先达到正确性,其次考虑效率。 说明:编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素,最后才考虑程序的效率和资源占用。
【原则】避免或少用全局变量。 说明:过多地使用全局变量,会导致模块间的紧耦合,违反模块化的要求。
【原则】尽量避免使用GOTO语句。
【原则】尽可能重用、修正老的代码。 说明:尽量选择可借用的代码,对其修改优化以达到自身要求。
【原则】 尽量减少同样的错误出现的次数。 说明:事实上,我们无法做到完全消除错误,但通过不懈的努力,可以减少同样的错误出现的次数。
布局
文件布局
【规则】遵循统一的布局顺序来书写头文件。 说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。
头文件布局:
文件头(参见第三章“注释”)
#ifndef 文件名_H(全大写)
#define 文件名_H
其它条件编译选项
#include(依次为标准库头文件、非标准库头文件)
常量定义
全局宏
全局数据类型
类定义
模板(template)(包括C++中的类模板和函数模板)
全局函数原型
#endif
【规则】遵循统一的布局顺序来书写实现文件。 说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。
实现文件布局:
文件头(参见第三章“注释”)
#include(依次为标准库头文件、非标准库头文件)
常量定义
文件内部使用的宏
文件内部使用的数据类型
全局变量
本地变量(即静态全局变量)
局部函数原型
类的实现
全局函数
局部函数
【规则】头文件必须要避免重复包含。 说明:可以通过宏定义来避免重复包含。
正例:
#ifndef MODULE_H
您可能关注的文档
最近下载
- 《常见的妇科阴道炎》PPT课件ppt.pptx VIP
- 2025新疆天泽水利投资发展有限公司及所属二级企业部分岗位社会招聘30人备考题库及答案解析.docx VIP
- 2025年匹克球主题团建活动方案.pdf VIP
- 2021年中华护理学会10项团体标准成人住院患者跌倒风险评估及预防.docx VIP
- TAVI(经皮导管主动脉瓣植入术)术后护理.pptx VIP
- 《中医学概论》课程教学大纲(本科).pdf VIP
- 冷冻食品生产质量控制措施.docx VIP
- 2023年新疆水利投资控股有限公司人员招聘考试参考题库及答案解析.docx VIP
- 围墙施工方案(围墙施工方案).doc VIP
- 中职中专新生入学开学第一课教育精品(1).ppt VIP
文档评论(0)