我有一个想法:用中文变量名
mbctb 2010-04-20 08:39:50 在编程实践中,我们经常发现,如果要为变量起一个有意义的名字,名字通常会很长。比如iCurrentLine,意思是“当前行”。lpInputBuffer意思是“输入缓冲区”。
变量名长了以后,带来的问题是:复杂一点的表达式就会变得很长,需要滚屏才能看全,或者,你不得不用回车将它分成两行。
而用简短的名字比如a,b,wi之类,更是会糟到老程序员的猛烈批评,说没有意义,时间长了难读难懂。
为了解决这个问题,我想到了用中文变量名,通常中文变量名的长度都要短于相应的英文变量名,通常一个汉字的显示宽度约为英文字母的两倍。那么“当前行”这三个汉字只相当于六个英文字母,而"iCurrentLine"则是12个英文字母。长度相当于汉字的两倍。大家可以看看自己的程序里的变量,是不是这样?
这样做的好处有三点:1.可以使表达式的长度大大缩短。2.对于咱中国人来说,中文比英文更熟练,更容易理解。3.由于变量名是汉字,这样运算符就相对醒目了,以前使用英文变量名的时候,运算符夹在中间,一长串符号,让人看不清。使用中文以后,可以看得很清楚。
请看:iCurrentLine * FontHeight
与: 当前行 * 行高
哪个更清楚?哪个更简短?
当然现在的C语言不支持中文变量名,C语言规定,变量名只能由英文字母、数字和下划线构成。我想到用宏定义的方法,比如在开头,我们定义:#include 当前行 iCurrentLine。但是一个问题又来了:好象C语言的宏标识符也不支持中文,是吗?看来只有由编辑器自己来实现了。
大家觉得这个想法怎么样?