[Embedded_SW_规范化]学习一些C编程规约_保持更新

原创 2015年07月11日 00:17:37
   问题描述:虽然使用C语言有一段时间,但是工程经验是需要长年累月的不断积累的。于是直接学习下名著中的一些经验,这样可以节省一些摸索的时间。将根据不同的学习内容进行整理,并会持续更新。
   标志符的命名:当然是见名思义,一些常见的标志符如函数名、变量名、宏定义等尽量用简短但能特征性表达的名称,中间可以加_或用首字母大写予以分节。如要定义一个每秒定时器跳动次数的宏,可以#defineTIMERCLK_PER_SEC xxx。宏定义与类型定义名一般用大写字母。
   uCOS-II中的函数命名也有区别,如OS_开头的函数表示是内部函数(尽管这些函数为全局函数)。
   变量名的声明最好每行一个变量,这样便于给每个变量加上注释。比如有一行定义是几个变量的情况,而且没有注释,程序设计者由于是自己定义的变量,因此会比较熟悉,但是后面的继续开发者或维护者就头疼了,因为无法立刻确切知道该变量的用途,然后得满处找该变量最后才能判断,这会耗费大量时间。
   用文件名作为变量名的前缀,包括局部变量和全局变量。对于局部变量,这样做的好处是显而易见的,不过全局变量一般会在许多个文件中使用,全局变量就不好指定具体哪个文件前缀了。全局变量用大写字母加小写字母混用,局部变量全小写字母,这样就更易于区分两者了。以下是摘录的uCOS-II中的一些例子:
i,j,k 用做循环次数计数器
p1,p2,...,pn 用做指针
c,c1,...,cn 用做字符
s,s1,...,sn 用做字符串
ix,iy,iz 用做中间整数变量
fx,fy,fz 用做中间浮点数变量
形式参数:函数中应只用小写字母
自动变量名:应只用小写字母
静态变量和函数:应使用文件名或模块名(或部分文件名、模块名)为前缀,大小写字母混用
外部变量和函数:应使用文件名或模块名(或部分文件名、模块名)为前缀,大小写字母混用
   缩写与助记:uCOS-II中推荐为产品制作一张缩写、略语、助记符的表。
   不要在.h文件中定义变量:声明即可,声明不会分配内存,会告诉包含该声明的模块在连接阶段从其他模块寻找外部函数和变量。而定义则分配内存,每个.c文件包含一次.h文件就会分配一次,这样造成了不必要的空间浪费。
    待续……
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)