一:关于函数的编码规范的几点补充。
1:不允许调用第三方函数(特别是在公司中)。
因为无法对其进行调试。
2:不要把形参作为工作变量,我们应给形参定义一个“替死鬼”进行操作。
3:尽量不要在函数中调用其他函数。
4:尽量少用递归。
二:关于注释的一些编码规范。
1:我们应该养成注释的习惯,一般注释长度为代码长度的40%为宜。
2:最好是能够边写代码边写注释,这样也能帮助我们理清思路。
3:我们注释时也可以写一个简短的例子,这也不失为一种好的注释方法。
4:给函数起一个好的函数名其实也是一种好的注释,这可以提高函数的自注释性。
5:说明性文件上面应有注释(.h文件,.inc文件等),注释应列出版权,版本,创作日期,作者,内容,功能等。(函数功能说明也要有)。
6:源文件上面也应有注释,注明版权,版本,作者等(函数功能要说明)。
7:对所有的函数应注释,注明函数名,功能,传入/传出参数,返回值等。
8:注释要在保证释义的情况下简单明了。
9:物理变量应注释说明其物理意义。
10:注释排版要清新爽朗简洁(国内建议中文注释)。
静待补充。
三:关于static、const、register等关键字。
1 register:
作用:请求编译器尽可能的将变量存放在CPU的内部寄存器中。
好处:可以有效提高程序的执行效率,因为避免了CPU从内存中抓取数据的过程。
适用对象:我们一般对需要进行频繁访问的变量用register声明。
注意事项:register只能用来修饰局部变量(也可以修饰函数形参)。
被register修饰的变量不能够进行取地址操作,因为保存在CPU的内部寄存器中。
register只能修饰被CPU所接受的数据类型。
2 ertern:
外部声明,声明变量在其他文件中定义过。
3 static(最重要的关键字)
static既能修饰变量,也能修饰函数。
修饰局部变量时,即为静态局部变量。可延长其生命周期,在程序使用完后再释放。
修饰全局变量时,即为静态全局变量。该变量只能在本文件中被访问,即使用extern进行外部声明也无法在其他文件中被调用。
修饰函数时,即为静态函数。该函数只能在本文件中被访问,无法再外部文件中被访问。
适用对象:一般情况下,我们应尽量减少全局变量的使用,因为全局变量能够被多个进程访问,其值可能会被篡改。所以,我们用被register修饰的局部变量来代替全局变量。
4 const:
作用:修饰一个变量,这个变量被标记为只读变量。
说明:const修饰的是变量名,我们不能通过变量名来改变其值。但是,它并非修饰地址,所以可以通过取地址操作来改变被const修饰的变量的值。
注意事项:我们用const修饰一个变量的时候要记得给这个变量进行初始化,因为我们后面是无法对这个变量进行赋值操作的。
适用对象:函数形参,我们需要保证某些形参在使用时不会被意外修改。