变量命名法

来源:互联网 发布:股票交易软件排行 编辑:程序博客网 时间:2024/05/21 11:28

骆驼命名法

格式:单词之间不以空格或连接号(-,即camel-case)、下划线(camel_case)隔开。

  • 小驼峰命名法:第一个单词的首字母小写,其他的单词的首字母大写camelCase
  • 大驼峰命名法:每个单词的首字母大写。例CamelCase

帕斯卡命名法(同大驼峰命名法)

格式:单词之间不以空格或连接号(-,即pascal-case)、下划线(pascal_case)隔开。

例:PascalCase

匈牙利命名法(摘自Wiki)

格式:一个变量名由一个或多个小写字母开始,这些字母有助于记忆变量的类型和用途,紧跟着的就是程序员选择的任何名称。这个后半部分的首字母可以大写,以区别前面的类型指示字母。

在系统匈牙利命名法中,前缀代表了变量的实际数据类型。例如:

  • lAccountNum:变量是一个长整数"l");
  • arru8NumberList:变量是一个无符号8位整型数组"arru8");
  • szName:变量是一个零结束字符串"sz"),这是西蒙尼最开始建议的前缀之一。

匈牙利应用命名法不表示实际数据类型,而是给出了变量目的的提示,或者说它代表了什么。

  • rwPosition:变量代表一个"rw")。
  • usName:变量代表一个非安全字符串"us"),需要在使用前处理。
  • strName:变量代表一个包含名字的字符串"str")但是没有指明这个字符串是如何实现的。

西蒙尼建议的大多数前缀都是自然语义的,但不是所有。下面几个是来自原始论文的:

  • pX是指向另一个X类型的指针,这包含非常少的语义信息。
  • d是一个前缀表示两个值的区别,例如,dY可能代表一个图形沿Y轴的距离,而一个仅仅叫做y的变量可能是一个绝对坐标。这完全是自然语义的。
  • sz是一个无结束或零结束的字符串。在C中,这包含一些语义信息,因为它不是很明确一个char*类型的变量是一个指向单个字符的指针,还是一个字符数组,或是一个零结束字符串。
  • w标记一个变量是一个字。这基本上没有包含什么语义信息,因此大概会被当成是系统命名法。
  • b标记了一个字节,和w对比可能有一些语义信息,因为C语言中,只有字节大小的数据是char型的,因此这些有时候被用来保存数值。这个前缀也许可以明确某个变量保存的是应该被看作是字母(或更一般的字符)的数值还是一个数字。
0 0
原创粉丝点击