可以用变量名来指示变量的数据类型吗?
可以。在变量名中指出数据类型已经成为今天的大型复杂系统中普遍使用的一条规则。通常,变量类型由一个或两个字符表示,并且这些字符将作为变量名的前缀。使用这一技术的一种广为人知的命名规则就是匈牙利命名法,它的名称来自于Microsoft公司的程序员CharlesSimonyi。表19.2列出了一些常用的前缀。
表1 9.2一些常用的匈牙利命名法前缀
---------------------------------------------------------------------------------
数据类型 前缀 例子
---------------------------------------------------------------------------------
char c clnChar
int i iReturnValue
long l lNumRecs
string sz szlnputString ( 以零字节结束 )
int array ai aiErrorNumbers
char * psz pszInputString
---------------------------------------------------------------------------------
象Microsoft Windows这样的环境,就大量使用了匈牙利命名法或其派生体。其它一些第四代环境,例如Visual Basic和Access,也采用了匈牙利命名法的一种变体。
在编写程序时,你不必拘泥于一种特定的命名法——你完全可以建立自己的派生命名法,特别是在为自己的typedef命名时。例如,有一个名为SOURCEFILE的typedef,用来保存源文件名、句柄、行号、最后编译日期和时间、错误号等信息。你可以引入一个类似“sf”(sourcefile)的前缀符号,这样,当你看到一个名为sfBuffer的变量时,你就会知道该变量保存了SOURCEFILE结构中的部分内容。
不管怎样,在命名变量或函数时,引入某种形式的命名规则是一个好主意,尤其是当你与其它程序员共同开发一个大的项目时,或者在Microsoft Windows这样的环境下工作时。采用一种认真设计好的命名规则将有助于增强你的程序的可读性,尤其是当你的程序非常复杂时。
表1 9.2一些常用的匈牙利命名法前缀
---------------------------------------------------------------------------------
数据类型 前缀 例子
---------------------------------------------------------------------------------
char c clnChar
int i iReturnValue
long l lNumRecs
string sz szlnputString ( 以零字节结束 )
int array ai aiErrorNumbers
char * psz pszInputString
---------------------------------------------------------------------------------
象Microsoft Windows这样的环境,就大量使用了匈牙利命名法或其派生体。其它一些第四代环境,例如Visual Basic和Access,也采用了匈牙利命名法的一种变体。
在编写程序时,你不必拘泥于一种特定的命名法——你完全可以建立自己的派生命名法,特别是在为自己的typedef命名时。例如,有一个名为SOURCEFILE的typedef,用来保存源文件名、句柄、行号、最后编译日期和时间、错误号等信息。你可以引入一个类似“sf”(sourcefile)的前缀符号,这样,当你看到一个名为sfBuffer的变量时,你就会知道该变量保存了SOURCEFILE结构中的部分内容。
不管怎样,在命名变量或函数时,引入某种形式的命名规则是一个好主意,尤其是当你与其它程序员共同开发一个大的项目时,或者在Microsoft Windows这样的环境下工作时。采用一种认真设计好的命名规则将有助于增强你的程序的可读性,尤其是当你的程序非常复杂时。