c语言编程规范

 

【一】关于空格

  • 代码缩进统一为四个空格
  • 相对独立代码快之间,变量定义后,函数返回前,必须加空行
  1. 函数开头定义变量,空
  2. 不同功能代码块,空
  3. return语句之前,空
  • 空格使用:   
  1. 关键字比如if,for,while,switch与括号之前 必须空格
  2. 空行,语句或表达式末尾 不能有 空格与tab
  3. 双目操作符 前后必须加上 空格
  4. 函数定义时候,函数调用的时候,实参形参与逗号之间必须加空格
  5.  单目操作符!,++,--,&前后不加空格,缩写赋值运算符中间不加空格,左右必须加上空格

  6. "[]","->","."前后不加空格(略)
  7. 指针的解引用符号* 定义时靠近变量名

  • 关于if else:

           if与括号直接空一小格;if,else缩进一致

 

 

  • 关于for:

           for与括号空行;括号内的变量赋值,条件判断和累加条件要用空格隔开,分号左边不要空格。(黄色标记为空格)

 

  •  关于while:

            while关键字与左括号必须加空格

            条件判断的运算符必须用空格隔开

            

 

  •  关于switch

           

 

  • 比较长的一行,用缩进对齐
  • 条件判断使用括号区分判断优先级

【二】:关于注释规范

  1. 注释在代码右侧时,与被注释代码距离一个tab
  2. /* xxxx */ 要这样加空格
  3. 多行代码注释:

/* 

 * xxxx

 * xxxx

 * xxxx

 */

        4.// xxx形式只能出现在单行语句注释中,单行语句对齐

        5.记得注释和注释语句与其他语句的空行

        6.全局变量采用多行注释

        7. switch函数没有break需要注释

        8.TODO注释:

// TODO: xxx

目的是为了提示以后待改进代码

         9.Debug代码注释:

利用#if 0

                xxx;

        #endif

还可以宏定义来实现对应代码的开启(未实践)

 

【三】关于命名规范:

  •    unix风格

https://blog.csdn.net/querw/article/details/5467438

 

  •  结构体与枚举名称:

结构体typedef命名时候,名称结尾必须加上_t的后缀;

枚举typedef命名时候,结尾增加_e的后缀;

自定义的名称必须空一格(与结构体之类的括号之间)

  • 关于数据类型:
  •  

    全局变量必须加上g_前缀

  • 静态变量加上s_前缀

  • 模块缩写作为前缀辨别变量名

  • 布尔值用true false 代替1,0 

【四】关于宏定义:

  • 大写
  • 完备的括号
  •  

  • 【五】关于函数定义与声明规范:
  • 变量在定义时应该:
  1. 对变量初始化
  2. 不允许修改的变量,加上const修饰
  3. 变量单一用途,不能混用
  4. 代表度量值的要加上单位              eg: data_timestamp_ms
  • 函数精简(尽量以小函数为基础)
  • 用指针传递大结构体
  • system()函数间接操作系统命令不好(未尝试)

【五】代码效率:

  • sleep ,malloc建议少出现
  • 定义多变量成员时,将相同类型定义在一起,减少内存空洞

 

posted @ 2022-03-15 14:00  0MrMKG  阅读(1327)  评论(0)    收藏  举报