嵌入式编码规范 4 – 可读性

文章强调了在编程时应注意运算符的优先级,使用括号明确表达式顺序以避免误解和错误。同时,提倡用有意义的标识替换不易理解的数字,尤其是对于含有物理意义的常量。避免使用复杂的技巧性语句,优先保证代码的清晰易读。文章还列举了若干示例,展示了如何改进代码的编写方式,以提高代码的可读性和维护性。此外,提到了嵌入式编码规范的其他方面,如文件管理、注释、变量和函数的定义等。
摘要由CSDN通过智能技术生成

1、注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。
示例:下列语句中的表达式
正确的写法:

word = (high << 8) | low;
if ((a | b) && (a & c))
if ((a | b) < (c & d))

错误的写法:

word = high << 8 | low;
if (a | b && a & c)
if (a | b < c & d) /* 造成了判断条件出错 */

2、避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。
示例:如下的程序可读性差。

if (Trunk[index].trunk_state == 0) <---- 不规范的写法,应使用有意义的标识
{
	Trunk[index].trunk_state = 1; <---- 不规范的写法,应使用有意义的标识
	... /* program code */
}

应改为如下形式。

enum trunk_state_e
{
	TRUNK_IDLE = 0,
	TRUNK_BUSY = 1
};

if (Trunk[index].trunk_state == TRUNK_IDLE)
{
	Trunk[index].trunk_state = TRUNK_BUSY;
	... /* program code */
}

3、不要使用难懂的技巧性很高的语句,除非很有必要时。
说明:高技巧语句不等于高效率的程序,实际上程序的效率关键在于算法。
示例:如下表达式,考虑不周就可能出问题,也较难理解。

* stat_poi ++ += 1;
* ++ stat_poi += 1;

应分别改为如下。

*stat_poi += 1;
stat_poi++; /* 此二语句功能相当于“ * stat_poi ++ += 1; ”*/
++ stat_poi;
*stat_poi += 1; /* 此二语句功能相当于“ * ++ stat_poi += 1; ”*/

嵌入式编码规范汇总:


本次归档参考安富莱编程规范,意为广大嵌入式开发者总结规范并合理使用。如有侵权,请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值