- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言软件编写规范.doc
北京森馥科技股份有限公司
PAGE 1
PAGE 1
前言:
一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。
说明:
本规范适用于公司内使用C语言编码的所有软件。本规范自发布之日起生效,以后新编写的和修改的
代码应遵守本规范。
注:使用固件和操作系统源代码应保留其代码风格
目录
TOC \o 1-3 \h \u HYPERLINK \l _Toc27326 1.排版与格式 PAGEREF _Toc27326 3
HYPERLINK \l _Toc10309 2.标识符命名与定义 PAGEREF _Toc10309 4
HYPERLINK \l _Toc29052 3.注释书写规范 PAGEREF _Toc29052 5
1.排版与格式
规则1:程序块采用缩进风格编写,每级缩进为4个空格。
程序块采用缩进风格编写,每级缩进为4个空格,不使用TAB键,以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。
规则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;
规则3:一条语句不能过长,如不能拆分需要分行写
换行时有如下建议:
· 换行时要增加一级缩进,使代码可读性更好;
? · 低优先级操作符处划分新行;换行时操作符应该也放下来,放在新
? · 换行时建议一个完整的语句放在一行,不要根据字符数断行
示例:
if ((temp_flag_var == TEST_FLAG)
(((temp_counter_var - TEST_COUNT_BEGIN) % TEST_COUNT_MODULE) = TEST_COUNT_THRESHOLD))
{
// process code
}
规则4: 多个短语句(包括赋值语句)不允许写在同一行内,即一行只写一条语句。
示例:
int a = 5; int b = 10; //不好的排版
较好的排版
int a = 5;
int b = 10;
规则5: if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。
例:
if (value max)
{
func(value);
}
规则6: 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后
要加空格;进行非对等操作时,如果是关系密切的立即操作符(如-),后不应加空格。
(1)比较操作符, 赋值操作符=、 +=,算术操作符+、%,逻辑操作符、,位域操作符、^等双目操作符的前后加空格。
if (current_time = MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
(2)!、~、++、--、(地址运算符)等单目操作符前后不加空格。
*p = a; // 内容操作*与内容之间
flag = !isEmpty; // 非操作!与内容之间
p = mem; // 地址操作 与内容之间
i++; // ++,--与内容之间
(3)-、. 前后不加空格。
p-id = pid; // -指针前后不加空格
(4)if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。
if (a = b c d)
规则7:尽量使用宏定义代替数字
2.标识符命名与定义
标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解
规则1:常量命名
常量命名的基本原则:
l 符号常量的命名用大写字母表示。如:
#define LENGTH 10
l 如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接。如:
#define MAX_LEN 50
规则2:变量命名
变量命名的基本原则:
多个单词组成的变量名,首字母应该大写。如:UserInp
您可能关注的文档
- 4.隧道二衬定型钢端模及环向止水带定位施工工艺.doc
- 42式太极拳口令及动作分解.doc
- 47中学“民族团结一家亲”趣味运动会活动方案.doc
- 48个国际音标配单词.doc
- 5 秋天的怀念 同步测试题.doc
- 5%水泥稳定碎石配合比设计说明.doc
- 5%水稳首件工程施工总结.doc
- 58同城—经典房源标题.doc
- 5S现场划线及标识管理.doc
- 5、《装满昆虫的衣袋》.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 吊装专项方案.docx VIP
- 以高质量党建推动医院高质量发展的工作实践-来源:现代企业文化·中旬刊(第2018012期)-中国工人出版社.pdf VIP
- 2024上海图书馆(上海科学技术情报研究所)公开招聘工作人员笔试备考试题及答案解析.docx
- 超星尔雅学习通【从爱因斯坦到霍金的宇宙(北京师范大学)】章节测试附答案.docx
- 手指游戏培训课件.ppt
- 药剂师职业生涯规划.pptx VIP
- 新能源汽车驱动电机及控制技术 课件 -山长军项目五 新能源汽车能量管理系统.pptx
- DG_TJ08-2072-2022:建设工程招标代理标准.pdf VIP
- 一种二氧化碳地质封存盖层密闭性评价方法.pdf VIP
- (2021年整理)emi滤波器设计规范.doc VIP
文档评论(0)