C语言代码规范
参考了大公司的标准
1、程序采用缩进风格,每层缩进使用一个制表位(TAB)
2、源程序使用英文书写,尽量不含有中文。
3、左花括号要另起一行,不能跟在上一行的行末;
4、一个变量定义占一行,一个语句占一行;
5、对独立的程序块之间、变量说明之后必须加空行;
6、运算符两侧留空格;
7、在+、-、*、/、!=等运算符的两侧应用空格隔开
例: 正确:a += b; 错误:a+=b;
代码格式
1、以一个for循环为例:
for(int i = 0; i < 10; i++){
;
}
2、源程序基本上用英语,排除输出的提示语言!
3、代码块的注释都写在代码的上面
4、换行是有可能被忽略的一种方式,方法间要换行,而同一个方法里不同的逻辑块也要换行。
一方面让代码的逻辑更加清晰,一方面也会督促你想清楚逻辑甚至锻炼自己的思维更加具有逻辑性。
5、如果一行代码过长,阅读的时候就需要拖动滚动条才能看全,是不是很不能忍受?
所以单行代码最好可以在一屏里显示全,如果过长就需换行。
6、连续多行赋值代码,保持“=”整齐
命名规范
1、变量的命名:帕斯卡命名法
定义变量时,名字要有意义。
用多个英文单词拼写,除第一个单词外每个英文单词首字母都要大写。
例如:playerSkill,(玩家技能)。
全局变量:g_+命名
指针变量:p_+命名
静态变量:s_+命名
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)。
命名中若使用特殊约定或缩写,则要有注释说明。
方法名称应该是一个动词或动名词短语,意思是“完成什么功能”,“执行什么操作”。
8、对某一功能的逐步书写注释:如
//造一辆车
//放底盘
//放轮子
//放发动机
//…
//安放外壳
9、变量注释
1) 变量注释写在左边,一定要对齐。
int i; //定义外层循环变量
int j; //定义内层循环变量
2)直接在变量后面注明变量的用途和取值约定。
例如:int judge = 0;//记录猜骰子的正确次数,>=3:胜利 (骰子游戏)
以上参考文章https://blog.csdn.net/AAAAA_Alice/article/details/82144460,侵删
数学之美第一章读后感
《文字和语言 vs 数字和信息》
看完第一章,我最大的感受就是:原来让电脑“懂”人话,靠的不是背语法,而是算概率。比如“银行”到底指河边还是存钱的地方,只要算它前后常出现什么词,就能猜得八九不离十。以前我觉得语言是凭感觉,现在才知道背后全是数据。只要语料够大,再复杂的句子也能用简单的公式拆开。书里把高深的模型藏进脚注,只留下“数数+乘法”,让我第一次觉得数学离日常这么近。以后写东西,我会先想想:如果让程序读,它能不能算对?这份“可计算”的视角,就是我从第一章带走的最大收获。