为防止头文件的重复引用,定义宏__INCfileNameh
为兼容C ,添加extern "C"
代码语言:javascript复制/* semLib.h */
#ifndef __INCsemLibh
#define __INCsemLibh
#include <vxWorks.h>
#ifdef __cplusplus
extern "C" {
#endif
#define SEM_Q_MASK 0x03
extern STATUS semShow(SEM_ID semId, int level);
#ifdef __cplusplus
}
#endif
#endif /* __INCsemLibh */
每行一条语句,包括变量声明、分支语句、循环语句等
代码块需使用大括号
逻辑表达式需使用小括号
代码语言:javascript复制#include <stdio.h>
#define MAX_NUM 100
void test()
{
int i;
int j = 0;
for(i=0; (i<MAX_NUM) && (j<=MAX_NUM); i )
{
printf("i=%dn", i);
}
while(j<MAX_NUM)
{
j ;
}
}
每行最多80字符
换行时运算符在行尾
换行后与前一行同类内容对齐,包括字符串,并在行尾和行首加双引号
不在逻辑表达式中赋值
逻辑表达式使用布尔型比较
代码语言:javascript复制 char *buf;
buf = (char *)malloc(MAX_NUM);
if(NULL != buf)
{
doSth();
}
不使用三目运算符 - ?:,改用if else
比较浮点数时,不使用==,用<=和>=
不使用goto
不使用continue
switch必须包含default
public函数入参需判断有效性
所有代码均可到达
递归深度必须有限
函数的圈复杂度不宜过高,尽量不超过20
每个代码块尽量具有唯一出口.
例如:函数内只有一处return;循环里最多一处break