- 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++
发布 实施
目 次
前 言 II
1 范围 1
2 术语和定义 1
2.1 原则 1
2.2 规则 1
2.3 建议 1
2.4 说明 1
2.5 正例 1
2.6 反例 1
3 基本原则 1
4 布局 2
4.1 文件布局 2
4.2 基本格式 5
4.3 对齐 6
4.4 空行空格 8
4.5 断行 9
5 注 释 10
6 命名规则 15
前 言
编写本标准的目的是为了统一硬件开发部软件编程风格,提高软件源程序的可读性、可靠性和可重用性,提高软件源程序的质量和可维护性,减少软件维护成本,最终提高软件产品生产力。
本规范是针对C/C++语言的编程规范,其它不同编程语言可以参照此规范执行。本规范适用于硬件开发部所有产品的软件源程序,同时考虑到不同产品和项目的实际开发特性,本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。本规范的示例都以C/C++语言描述。
本规范的内容包括:基本原则、布局、注释、命名规则等。
自本标准实施之日起,以后新编写的和修改的代码均应执行本标准。
本标准由硬件开发部提出。
本标准起草部门:开发部。
本标准于2010年5月首次发布。
范围
本标准规定了C/C++语言的编程规范。
本标准适用于部门内使用C/C++语言编码的所有软件。本规范自生效之日起,对以后新编写的和修改的代码有约束力。
术语和定义
下列术语和定义适用于本标准。
原则
编程时应该坚持的指导思想。
规则
编程时必须遵守的约定。
建议
编程时必须加以考虑的约定。
说明
对此规则或建议的必要的解释。
正例
对此规则或建议给出的正确例子。
反例
对此规则或建议给出的反面例子。
基本原则
【原则1-1】首先是为人编写程序,其次才是计算机。 说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。
【原则1-2】保持代码的简明清晰,避免过分的编程技巧。 说明:简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。
【原则1-3】所有的代码尽量遵循ANSI C标准。 说明:所有的代码尽可能遵循ANSI C标准,尽可能不使用ANSI C未定义的或编译器扩展的功能。
【原则1-4】编程时首先达到正确性,其次考虑效率。 说明:编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素,最后才考虑程序的效率和资源占用。
【原则1-5】避免或少用全局变量。 说明:过多地使用全局变量,会导致模块间的紧耦合,违反模块化的要求。
【原则1-6】尽量避免使用GOTO语句。
【原则1-7】尽可能重用、修正老的代码。 说明:尽量选择可借用的代码,对其修改优化以达到自身要求。
【原则1-8】 尽量减少同样的错误出现的次数。 说明:事实上,我们无法做到完全消除错误,但通过不懈的努力,可以减少同样的错误出现的次数。
布局
程序布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。同时,对于普通程序员来说,养成良好的编程习惯有助于提高自己的编程水平,提高编程效率。因此,统一的、良好的程序布局和编程风格不仅仅是个人主观美学上的或是形式上的问题,而且会涉及到产品质量,涉及到个人编程能力的提高,必须引起大家重视。
文件布局
【规则2-1-1】遵循统一的布局顺序来书写头文件。 说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。
头文件布局:
文件头(参见第三章“注释”)
#ifndef 文件名_H(全大写)
#define 文件名_H
其它条件编译选项
#include(依次为标准库头文件、非标准库头文件)
常量定义
全局宏
全局数据类型
类定义
模板(template)(包括C++中的类模板和函数模板)
全局函数原型
#endif
【规则2-1-2】遵循统一的布局顺序来书写实现文件。 说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。
实现文件布局:
文件头(参见第三章“注释”)
#include(依次为标准库头文件、非标准库头文件)
常量定义
文件内部
您可能关注的文档
- 中国电力勘察设计行业发展策划及投资发展战略报告(2012-2016年).doc
- 重庆市南开中学教学实验楼建设工程 文明施工方案.doc
- 装修装饰工程投标书01.doc
- [电气施工组织设计] 某电力有限公司干灰库工程施工组织设计方案.doc
- 20080826 建筑节能专项施工方案.doc
- 大亚湾核电基地五人制足球场改造项目施工组织设计.doc
- 高速公路施工组织设计07.doc
- 河北省建筑施工安全生产“隐患治理年”活动工作方案.doc
- 淮河入海水道完善工程北泓漫水闸、中隔堤滚水坝及防护工程投标文件施工方案05.doc
- 建筑节能施工专项施工方案05.doc
- 皖2016S215_预制装配式混凝土排水检查井.pdf
- DB32∕T 4111-2021 预应力混凝土实心方桩基础技术规程.pdf
- DB32T4353_2022_房屋建筑和市政基础设施工程档案资料管理规程.pdf
- 各地汽车生产商名单.doc
- 岳麓版高中历史选修四第1单元第4课“千古一帝”秦始皇(课件2)(共36张).ppt
- Unit8task课件-牛津译林版八年级英语下册.pptx
- 2025年广西壮族自治区高中学业水平合格性考试模拟二历史试题.docx
- 安徽省庐巢联盟2024-2025学年高一下学期段考历史试题(二)(解析版).docx
- 福建省三明市2024-2025学年高二下学期期末质量检测历史试题(解析版).docx
- 2025届山西省高三下学期高考冲刺历史试题.docx
最近下载
- (高清版)B-T 16886.4-2022 医疗器械生物学评价 第4部分:与血液相互作用试验选择.pdf VIP
- 小学语文教师业务考试试题库(含答案).docx VIP
- 东芝CV600CV620故障代码.pdf VIP
- 2025年重庆市名校联中小升初数学模拟试卷附答案解析.pdf VIP
- 中信证券 2025 A股十大主题展望.pdf VIP
- 短视频:策划、制作与运营PPT课件(全套完整版).pptx
- 管道流速对照表.doc VIP
- 如何找到心流体验.pptx VIP
- 中国行业标准 GA/T 2100-2023移动警务 服务总线技术要求.pdf
- 2025年燃气从业人员考试题库2.docx VIP
文档评论(0)