MISRA C Coding Standard

MISRA C是汽车工业软件可靠性联会制定的编码标准,旨在提高嵌入式软件的安全性和可靠性。该标准包括127条规则,如遵循ANSI C89标准,禁止使用三元操作符,禁止使用八进制数等。遵循MISRA C可以帮助创建易读、可靠、可移植和可维护的代码,但也需要开发团队有高度的组织性和纪律性。
摘要由CSDN通过智能技术生成
MISRA (The Motor Industry Software Reliability Association 汽车工业软件可靠性联会 ) 是位于英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。这个组织最出名的成果是所谓的 MISRA C Coding Standard ,这一标准中包括了 127 C 语言编码标准,通常认为,如果能够完全遵守这些标准,则你的 C 代码是易读、可靠、可移植和易于维护的。最近很多嵌入式开发者都以 MISRA C 来衡量自己的编码风格,比如著名的 uC/OS-II 就得意地宣称自己 99 %遵守 MISRA 标准。而《嵌入式开发杂志》也专门载文号召大家学习。编码规范通常是一个公司自定的“土政策”,居然有人去做标准,而且还得到广泛的认可,这不禁引起我强烈的兴趣。可惜这份标准的文本需要花钱去买,而且短短几十页,要价非常昂贵。 MISRA 在网上公布了一些文档,其中有关于 MISRA C Coding Standard Clarification 报告,从中间你可以大致猜到 MISRA 标准本身是什么。我仔细阅读了这些文档,并且通过阅读其他一些介绍性文档,大致了解了 MISRA 标准的主要内容。这些条款确有过人之处,对于 C/C++ 语言工程项目的代码质量管理能够起到良好的指导性作用,对于大部分软件开发企业来说,在 MISRA 的基础上适当修改就可以形成自己的规范。当然其中也有一些过于严苛的东西,这就需要各个开发部门灵活处理了。我个人的体会,编码规范虽然很简单,但是要完全执行,不折不扣,需要开发部门有很高的组织性和纪律性,并且有很好的代码评审机制。因此,如果能够严格地遵守编码规范,本身就是一个开发部门实力的证明。

这里不可能将所有规则一一列出(事实上正式文本我一条也没看到),只列出一些比较有意思的条款,让大家有机会了解 MISRA 的风格。具体的内容,感兴趣的朋友可以自己到 www.misra.org.uk 去了解。

Rule 1.
严格遵循 ANSI C89 标准,不允许任何扩展。

Rule 3.
如果要嵌入汇编语言,则必须将所有汇编语句包装在 C 函数里,而且这些函数中只有汇编语句,没有常规 C 语句。

Rule 7.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值