C语言编码规范.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言编程规范 对于程序员来说,能工作的代码并不等于“好”的代码。 “好”代码的指标很多,包括易 读、易维护、易移植和可靠等。其中,可靠性对嵌入式系统非常重要,尤其是在那些对安全 性要求很高的系统中,如飞行器、汽车和工业控制中。这些系统的特点是:只要工作稍有偏 差,就有可能造成重大损失或者人员伤亡。一个不容易出错的系统,除了要有很好的硬件设 计( 如电磁兼容性 ) ,还要有很健壮或者说“安全”的程序。 然而,很少有程序员知道什么样的程序是安全的程序。很多程序只是表面上可以干活, 还存在着大量的隐患。当然,这其中也有 C 语言自身的原因。因为 C 语言是一门难以掌握的 语言,其灵活的编程方式和语法规则对于一个新手来说很可能会成为机关重重的陷阱。 同时, C 语言的定义还并不完全,即使是国际通用的 C 语言标准,也还存在着很多未完全定义的地 方。要求所有的嵌入式程序员都成为 C 语言专家,避开所有可能带来危险的编程方式,是不 现实的。最好的方法是有一个针对安全性的 C 语言编程规范,告诉程序员该如何做。 本规范在制定过程中,主要参考了业界比较推崇的《华为软件编程规范和范例》和《 MI SRA 2004 规则》,适合 C 语言初学者使用,目的在于在教学中培养学生良好的编程规范和意 识、素质,促进所设计程序安全、健壮、可靠、可读与可维护 ( 程序简单、清晰 ) 。考虑到面向的是初学者,为便于教学和课程考核操作,本规范中的要求比较基本。事实上,很多公司 都有自己规定的代码风格,包括命名规则、缩进规则等,学生参加工作后,应再进一步学习和应用公司的规范。 建议学生在学习本规范的同时,花点时间阅读本规范的参考文献原文,特别是熟读本规 范的参考文献之一的《 “安全第一”的 C 语言编程规范》,深刻理解编程规范与程序安全、健 壮、可靠、可读、可维护间的关系和作用,在学习和工作中养成良好的编程风格。 排版 严格采用阶梯层次组织程序代码 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格, case 语句下的情况处理语句也要遵从语句缩进要求。 程序块的分界符 ( 如 C/C++ 语言的大括号‘ { ’ 和‘ } ’) 应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及 if 、for 、do 、while 、 switch 、case 语句中的程序都要采用如上的缩进方式。 各层次缩进的风格采用 TAB缩进 (TAB 宽度原则上使用系统默认值, TC使用 8 空格宽度, VC使用 4 空格宽度 ) 。示例: if (x is true) { we do y } else { if (a b) { ... } else { ... } } 和: if (x == y) { ... } else if (x y) { ... } else { .... } 注意,右括号所在的行不应当有其它东西,除非跟随着一个条件判断。也就是 do-while 语句中的“ while ”,象这样: do { body of do-loop } while (condition); 说明:代码离不开缩进,缩进背后的思想是:清楚地定义一个控制块从哪里开始,到哪 里结束。尤其是在你连续不断的盯了 20 个小时的屏幕后,如果你有大尺寸的缩进。你将更容 易发现缩进的好处。 关于缩进主要有两个争论,一个是该用空格 (Space) 还是用制表符 (Tab) ,另外一个是该 用 4 格缩进还是 8 格缩进甚至都不是。 建议总是使用 Tab 缩进,因为几乎所有的代码 ( 不仅仅是 C代码 ) 都在使用 Tab 缩进。 现在,有些人说 8 个字符大小的缩进导致代码太偏右了, 并且在一个 80 字符宽的终端屏 幕上看着很不舒服。对这个问题的回答是:如果你有超过 3 个级别的缩进,你就有点犯糊涂了,应当修改你的程序。简而言之, 8 个字符的缩进使程序更易读,而且当你把功能隐藏的 太深时,多层次的缩进还会对此很直观的给出警告。要留心这种警告信息。 例外:对于由开发工具自动生成的代码可以有不一致。 及时折行 较长的语句 (80 字符 ) 要分成多行书写,长表达式要在低优先级操作符处划分新行,操 作符放在新行之首,划分出的新行要进行适当的缩进 ( 至少 1 个 TAB位置 ) ,使排版整齐,语 句可读。示例: report_or_not_flag = ((taskno MAX_ACT_TASK_NUMBER) (n7stat_stat_item_valid (stat_item)) (act_task_table[taskno].result_data != 0)); 循环、判断等语句中若有较长的表达式或语句,则要进行

您可能关注的文档

文档评论(0)

135****4203 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档