【老九出品】初学者必须掌握的编码规范
C语言代码规范
排版规则
1、程序采用缩进风格,每层缩进使用一个制表位(TAB)
2、源程序使用英文书写,尽量不含有中文。
3、左花括号要另起一行,不能跟在上一行的行末;
4、一个变量定义占一行,一个语句占一行;
5、对独立的程序块之间、变量说明之后必须加空行;
6、运算符两侧留空格;
7、在+、-、*、/、!=等运算符的两侧应用空格隔开
例: 正确:a += b; 错误:a+=b;
代码格式
1、代码格式遵从徐老师网课中的代码格式以一个for循环为例:
1) for(int i = 0; i < 10; i++)
{
;
}
2) for(int i = 0; i < 10; i++){
;
}
以上两种都认可!
2、源程序基本上用英语,排除输出的提示语言!
3、代码块的注释都写在代码的上面
4、换行是有可能被忽略的一种方式,方法间要换行,而同一个方法里不同的逻辑块也要换行。
一方面让代码的逻辑更加清晰,一方面也会督促你想清楚逻辑甚至锻炼自己的思维更加具有逻辑性。
5、如果一行代码过长,阅读的时候就需要拖动滚动条才能看全,是不是很不能忍受?
所以单行代码最好可以在一屏里显示全,如果过长就需换行。
6、连续多行赋值代码,保持“=”整齐
命名规范
1、变量的命名:帕斯卡命名法
1) 定义变量时,名字要有意义。
2) 用多个英文单词拼写,除第一个单词外每个英文单词首字母都要大写。
例如:playerSkill,(玩家技能)。
3) 全局变量:g_+命名
4) 指针变量:p_+命名
5) 静态变量:s_+命名
6) const变量:c_+命名
注意:只有在循环时,才能用 i、j、k等名称的变量。
全局变量必要的时候才可以定义,否则应尽量使用局部变量。
2、宏定义的命名
宏定义所有的字母均为大写。且每个单词之间用“_”进行连接
例:static final int MAX_BUFFER_SIZE = 102400;
3、数组和结构体的命名
数组和结构体名称用具体的英文名称,单词间首字母大写。
结构体名称后需加上:Array。如:PlayerArray(玩家结构)
4、C/C++命名必须遵循下划线命名法,即每一个逻辑断点都有一个下划线来标记。
例如:num_sequence //数字顺序
5、所有编程相关命名均不能以下划线或美元符号开始,严禁拼音与引文混合的方式,更加不能用中文方式命名,避免缩写英文。
6、命名必须准确,不引起歧义,不过于简单,并且长度适中。
7、函数的命名:驼峰法
函数名称用具体的英文名称,单词间首字母大写。
例如:PlayerBag()。
如果这些单词是缩略语(例如XML),也要首字母大写,其它字母小写(写作Xml)。
命名中若使用特殊约定或缩写,则要有注释说明。
方法名称应该是一个动词或动名词短语,意思是“完成什么功能”,“执行什么操作”。
注释约定
1、函数头的注释和规范
2、对某一功能的逐步书写注释:
该注释可以让你理清思路。
打个比方,造一辆车
首先我们看一辆车有什么:为了简单起见,只取轮子、发动机、油箱、外壳、底盘
材料取来了,人员有限,一天按一部分,先放底盘、之后是发动机、轮子、引擎等,最后上外壳。
//造一辆车
//放底盘
//放轮子
//放发动机
//…
//安放外壳
3、变量注释
1) 变量注释写在左边,一定要对齐。
int i; //定义外层循环变量
int j; //定义内层循环变量
2)直接在变量后面注明变量的用途和取值约定。
例如:int judge = 0;//记录猜骰子的正确次数,>=3:胜利 (骰子游戏)
4、文档注释
新建一个.h文件时,添加在文件顶部的注释,包括:
xxx团队 版权所有 版本信息
本文件所在的系统或工程的名字
本文件所在的功能模块名称
简要说明本程序的功能
编码人员
创建日期
源程序版本说明
Edit Date: 修改人员
版本号
修改日期
修改后程序版本说明
5、一个文件开头应注释一下内容
// 更新日期:
// 更新人员:
// 代码作用
6、日常注释
对于一些关联性不大的代码需添加注释
注意:注释过多注释应该放在被注释的代码上面,分行展示,但中间不留空行。
对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。
代码千万条,注释第一条。
注释不规范,同事两行泪。
变量的作用和范围
尽量做到缩小变量的作用范围,对于变量是指针的,应遵循以下约定:
Ø 在局部分配的空间在局部释放。
Ø 函数体内不能分配空间并将空间指针作为函数参数返回。
Ø 动态全局空间在程序结束时一定要释放。
补充
自己特有的命名风格,要自始至终保持一致,不可来回变化。
个人的命名风格,在符合命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)
代码要保证有良好的结构性和逻辑性,方便扩展和整理。
本期编码规范来源于老九学堂会员小组。
如果小伙伴们还有其他要补充的,可以留言告诉大雄哦。
老九学堂出品,转载请私信哦
对于文章内容有不理解的可以添加老九君个人QQ:614940318,请备注来自简书
老九学堂免费C、C++、Java课程地址:
https://study.163.com/courses-search?keyword=%E8%80%81%E4%B9%9D%E5%AD%A6%E5%A0%82