我有一个想法:用中文变量名
在编程实践中,我们经常发现,如果要为变量起一个有意义的名字,名字通常会很长。比如iCurrentLine,意思是“当前行”。lpInputBuffer意思是“输入缓冲区”。
变量名长了以后,带来的问题是:复杂一点的表达式就会变得很长,需要滚屏才能看全,或者,你不得不用回车将它分成两行。
而用简短的名字比如a,b,wi之类,更是会糟到老程序员的猛烈批评,说没有意义,时间长了难读难懂。
为了解决这个问题,我想到了用中文变量名,通常中文变量名的长度都要短于相应的英文变量名,通常一个汉字的显示宽度约为英文字母的两倍。那么“当前行”这三个汉字只相当于六个英文字母,而"iCurrentLine"则是12个英文字母。长度相当于汉字的两倍。大家可以看看自己的程序里的变量,是不是这样?
这样做的好处有三点:1.可以使表达式的长度大大缩短。2.对于咱中国人来说,中文比英文更熟练,更容易理解。3.由于变量名是汉字,这样运算符就相对醒目了,以前使用英文变量名的时候,运算符夹在中间,一长串符号,让人看不清。使用中文以后,可以看得很清楚。
请看:iCurrentLine * FontHeight
与: 当前行 * 行高
哪个更清楚?哪个更简短?
当然现在的C语言不支持中文变量名,C语言规定,变量名只能由英文字母、数字和下划线构成。我想到用宏定义的方法,比如在开头,我们定义:#include 当前行 iCurrentLine。但是一个问题又来了:好象C语言的宏标识符也不支持中文,是吗?看来只有由编辑器自己来实现了。
大家觉得这个想法怎么样?
[解决办法]
我们班上以前有一个同学做过,在写c语言程序的时候用中文命名变量、函数名啊什么了的,程序导师写得很精辟,他也很牛逼,可是还是被我们老师给洗刷了,不过我觉得如果可以,倒可以推动一下... ...
这样一来,就不必去看一半天这个变量的英文是什么意思,在联想一下是干什么的;那个函数是什么意思,干什么的...
只可惜,我们编程都是在利用别人的开发工具,什么时候lz给整个,支持到底~~ 顶