[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文件就会分配一次,这样造成了不必要的空间浪费。
    待续……
版权声明:本文为博主原创文章,未经博主允许不得转载。

编译原理学习基本概念汇总

对于计算机专业的学生来说,肯定听说过或者上过一门课,叫做——编译原理,被称为计算机专业的天书,反正不管是学习这门课的时候,还是现在,我都是没搞懂其中的技术和知识。但就期末考试而言,提前做了几道题目,得...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2015年07月22日 14:04
  • 2476

机器学习中的范数规则化之(二)核范数与规则项参数选择

机器学习中的范数规则化之(二)核范数与规则项参数选择zouxy09@qq.comhttp://blog.csdn.net/zouxy09        上一篇博文,我们聊到了L0,L1和L2范数,这篇...
  • zouxy09
  • zouxy09
  • 2014年05月04日 12:42
  • 70897

JPA规范介绍及实例(Java数据持久化解决方案)

ORM框架的出现,使直接存储对象成为可能,它们将Java对象拆分成SQL语句,并利用JDBC保存到数据库。但是不同的框架,使用起来却是很大不同的,这也导致开发者需要学习各种不同的ORM框架(虽然你可能...
  • anxpp
  • anxpp
  • 2016年05月12日 23:16
  • 11232

SW8D5C-GPPW-C 8.86(三菱编程软件中文版)

  • 2012年06月26日 14:16
  • 50.72MB
  • 下载

[嵌入式必读]—关于C的“四书五经”之——嵌入式系统编程Programming Embedded Systems in C and C++

  • 2008年09月01日 18:44
  • 2.98MB
  • 下载

[Embeded--SW_分层]嵌入式C代码分层

问题描述:嵌入式、单片机中C代码实现较大的工程时,代码量非常大,查看维护起来也比较吃力,除非代码组织得层次分明,各个功能的划分很明晰,如果仅是一堆实现了功能的代码,没有进行层次的设计,维护起来将是一场...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:16
  • 1228

规范化编程

  • 2014年01月22日 22:12
  • 1.77MB
  • 下载

规范化编程(华为公司)

  • 2007年08月10日 13:51
  • 155KB
  • 下载

JAVA编程规范化

  • 2014年04月18日 10:08
  • 388KB
  • 下载

[Embeded--SW_分层]C代码分层

简述C为函数式语言,使用模块化的设计会对开发大型项目带来很多好处。C的模块化也可以模拟一些OO的特点。层次化与模块化C语言的应用领域,如通讯领域和嵌入式系统领域,一个的软件项目通常包含很多复杂的功能,...
  • suxiang198
  • suxiang198
  • 2015年09月05日 09:01
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Embedded_SW_规范化]学习一些C编程规约_保持更新
举报原因:
原因补充:

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