C语言代码规范

(1)switch case
swichcase标签应该对齐处于同一列

switch (character) {
case 'a':
	...
	break;
default:
	break;
}

(2)一行的长度限制在80列
超过要换行,且进行合适的缩进,一般一个缩进即可。
(3)括号
代码中用到大括号{}的地方,应该把起始大括号“{”放到行尾,把结束大括号“}”放到行首。如ifswitchfordowhile

  • 注意:函数的起始大括号要放置到下一行的开头

只有一个单独的语句时候可不加大括号:

if (condition)
	action();
//多分支情况:只要有一个分支不为单独语句即都要加括号
if (condition) {
	do_this();
	do_that();
} else {
	otherwise();
}

(4)空格

  • 一元操作符后不要加空格,如*(指针)、!~sizeof
  • 二元操作符(两边跟操作数)两旁需要加空格,如*(乘法)、=!===%
  • 指针类型中,*应该靠近变量名或函数名一侧,而不是靠近类型名。

(5)注释
注释应该告诉别人代码做了什么,而不是怎么做的。注释要放到函数的头部,且应选择/* ……… */,而不是//
对于多行注释,应该像下面这样:

/*
* This is the preferred style for multi-line
* Please use it consistently.
*/

文件信息注释(放在文件最开始)

/*************************************************
Copyright © zuozhongkai Co., Ltd. 1998-2018. All rights reserved.
File name: // 文件名
Author: //作者
Version: //版本号
Description: // 用于详细说明此程序文件完成的主要功能,与其他模块
			 // 或函数的接口,输出值、取值范围、含义及参数间的控
			 // 制、顺序、独立或依赖等关系
Others: // 其它内容的说明
Log: // 修改日志,包括修改内容,日期,修改人等
*************************************************/

函数的注释

/*
 * @Description: 函数描述,描述本函数的基本功能
 * @param 1 – 参数 1.
 * @param 2 – 参数 2
 * @return – 返回值
*/

(6)命名规则

  • 单词用小写,然后每个单词用下划线“_”连接在一起(Linux命名风格)
  • 要使用完整的单词或者大家都知道的缩写
  • 具有互斥意义的变量或者动作相反的函数应该是用互斥词组命名

(7)函数

  • 一个函数完成一个功能
  • 重复代码要提炼成函数
  • 不同函数用空行隔开,如果需要导出,EXPORT*宏应该紧贴在他的结束
    大括号下
int system_is_up(void)
{
	return system_state == SYSTEM_RUNNING;
}
EXPORT_SYMBOL(system_is_up);
  • 若函数内有多重循环,或从多个位置退出时,建议使用goto
  • 函数嵌套不要超过4层
  • 对函数的参数做合法性检查
  • 仅当前文件使用的函数要加上static

(8)宏

  • 定义常量的宏的名字及枚举里的标签需要大写,但函数宏可用小写
  • 使用表达式定义常量的宏必须将表达式置于一对小括号之内,如
    #define CONSTEXP (CONSTANT | 3)
  • 对于有多条语句的宏,建议写成do while(0)格式
  • 如果宏是常量,建议使用const代替
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页