C语言命名规则

C语言命名规则  

比较著名的命名规则当推Microsoft  公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch 为前缀,若是指针变量则追加前缀p。如果一个变量由ppch 开头,则表明它是指向字符指针的指针。

    “匈牙利”法最大的缺点是烦琐,例如

    int    i,  j,   k;

    float  x,  y,  z;

倘若采用“匈牙利”命名规则,则应当写成

    int    iI,   iJ,  ik;  // 前缀 表示int类型

    float  fX,  fY,   fZ;  // 前缀 表示float 类型

如此烦琐的程序会让绝大多数程序员无法忍受。

据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。

 

关于C语言变量和函数命名总结以下几点,大家可以讨论交流一下:

 

1、变量名长度应当符合“min-length && max-information”原则。

2、命名规则尽量与所采用的操作系统或开发工具的风格保持一致。

3、不能靠大小写来区分不通变量。

4、名词变量用“名词”或者“形容词+名词”的形式,动词用动宾形式。

5、如果需要有特定意义的,应该在变量命名是有所体现,如反义等;但是不推荐使用数字标记,如name1,name2;

6、关于大小写规则。变量第一个为小写,但第二个词为大写开始,如:newName;而函数名两个都为大写开头,如:GetName();

7、常量都为大写,同时两个词间用_分开。

8、静态变量以s_开头,全局变量以glb_开头。

 

  • bBusy 布尔型
  • cApples :项目计数
  • dwLightYears :双(系统)
  • fBusy 布尔型(标记)
  • nSize 整型(系统)或计数(应用程序)
  • iSize 整型(系统)或索引(应用程序)
  • fpPrice浮点数
  • dbPi 双精度浮点数(系统)
  • pFoo 指针
  • rgStudents :数组或范围
  • szLastName :零结束字符串
  • u32Identifier :无符号32位整型(系统)
  • stTime :时钟结构
  • fnFunction :函数名

对于指针和数组来说,它们实际上并不是数据类型,因此通常在助记符后面跟着实际元素的类型。

  • pszOwner :指向零结束字符串的指针
  • rgfpBalances 浮点值的数组

由于匈牙利命名法可以被应用在任何程序设计语言和环境中,因此被微软广泛用在C语言中,特别是在Microsoft Windows里。由此一来,许多常见的匈牙利命名法的结构都和Windows紧密相关:

  • hwndFoo :窗口句柄
  • lpszBar :指向零结束字符串的长指针

这种命名法又是在C++中被扩展而包含变量的作用域,由一个下划线隔开:

  • g_nWheels :全局命名空间的成员,整型
  • m_nWheels :结构体/类成员,整型

 

来自:http://blog.csdn.net/bobocheng1231/archive/2008/03/28/2225051.aspx

posted @ 2013-12-02 09:11  haotianling  阅读(581)  评论(0编辑  收藏  举报