前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的C语言编码习惯(限制篇)

我的C语言编码习惯(限制篇)

作者头像
Taishan3721
发布2022-12-05 16:00:48
7060
发布2022-12-05 16:00:48
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

为防止头文件的重复引用,定义宏__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=%d\n", 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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档