我的C语言编码习惯(空格篇)

2022-12-05 15:57:34 浏览数 (1)

国有国法,家有家规。多数公司有自己的编码规范,每个developer有自己的编码风格。无关对错,只是记录一下我自己的习惯:

注释中的星号前后有空格,多行的星号用空格对齐

代码语言:javascript复制
    /* this is a single line comment */

    /*
     * this is a multiline comment
     */

功能类似的相邻代码行使用空格对齐

指针型变量的星号前有空格,后无空格

代码语言:javascript复制
    char  var1;
    char *var2;
    short var3;
    int   var4;
    int **var5;
    struct MY_STRUCT var6;
    union  MY_UNION *var7;

等号左右有空格

代码语言:javascript复制
    int   num  = 0;
    char *data = NULL;

分号前无空格,后有空格

代码语言:javascript复制
    for(i=0; i<10; i  )

逗号前无空格,后有空格

小括号左右无空格

代码语言:javascript复制
    int arrayA[] = {1, 2, 3};
    taskSpawn(NULL, 100, 0, 0x2000, (FUNCPTR)test, 1, 2, 3, 4, 5, 6, 7, 8, 9 ,0);

中括号前后无空格

代码语言:javascript复制
a = b[0];

大括号前后无空格

代码语言:javascript复制
typedef struct
    {
    int  a;
    char b;
    }myStr;
do
    {
    }while(1);

空括号内无空格

代码语言:javascript复制
int arrayA[] = {1, 2, 3};
doSth();

case语句的冒号前无空格

代码语言:javascript复制
switch(a)
    {
    case 1:
        break;
    case 2:
        break;
    default:
        break;
    }

三目运算符的问号前无空格,后有空格;冒号前后有空格

代码语言:javascript复制
a? b : c;

单目运算符前后无空格

代码语言:javascript复制
a = -b;
a  ;
--b;
a = &b;
a = !b;
a = sizeof(b);

双目运算符前后有空格

代码语言:javascript复制
a = b   c;
a = b * c;
if(a >= b)
    {
    a = b << 2;
    }

代码行过长时,适当压缩优先级较低表达式内的空格

代码语言:javascript复制
if((a>b) && (b<c) && (x==y))

for(i=0; i<10; i  )

0 人点赞