今天想聊聊编程风格这个话题。相信很多人都不在乎这一点,认为无所谓,只要完成项目需求,自己能看得明白就可以了。在学校的时候,也不会讲述编程风格的问题,甚至有些公司企业对这一块的管理也有待加强。长时间缺乏这种意识,养成了不好的习惯,后期很难改变。一旦程序中有BUG,或者产品需要升级,回头再看代码,恐怕自己都看不懂了。
常见的比如:
1、一个工程一个大文件所有的内容都在一个文件里。
2、代码里没有注释。
3、变量、函数命名混乱。等等。
起初我上面提到的这些问题,我大概都有过。随着开发经历的增多,这一块才慢慢改进过来。下面简单介绍下,希望能给新手一些启发。老鸟就略过不要看了。
一、模块化编程,每一个模块两个文件。
一个是.c文件,一个是与之对应的.h文件。.h文件是.c文件的一个窗口。是变量、函数等对外的一个窗口。在.c文件中实现具体的模块功能。比如点亮led。比如串口的收发函数等等。实现一个函数一个功能,一个模块一个功能,进行层层细化。最大程度的减小耦合。
二、变量、函数命名:
介绍一下驼峰命名法,一般习惯上,大家都遵循这个命名的方法。
驼峰命名法驼峰式命名法就是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像驼峰峰一样此起彼伏,故得名。
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如 int myStudentCount;变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
大驼峰法
相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。比如 void DataSampFun();
也可以在变量前面加字母,用来表示变量的类型。比如加st前缀来表示是结构体,加e表示枚举,加p表示指针等等。
三、代码的排版
1、每个函数定义结束之后及每个文件结束之后都要加上一个或多个空行。
2、在一个函数体内,变量的定义及初始化要与函数体内的执行语句留有一行的间隔。
3、函数内的一些运算符与运算符两端的变量之间应该加上空格,便于阅读,提高可读性。
4、switch,case 语句中,case分支中,可以加一层大括号。
5、代码用缩进来体现逻辑结构。分支或同一级别的逻辑代码在同一个缩进级别上。