我有一个想法:用中文变量名

mbctb 2010-04-20 08:39:50
在编程实践中,我们经常发现,如果要为变量起一个有意义的名字,名字通常会很长。比如iCurrentLine,意思是“当前行”。lpInputBuffer意思是“输入缓冲区”。

变量名长了以后,带来的问题是:复杂一点的表达式就会变得很长,需要滚屏才能看全,或者,你不得不用回车将它分成两行。

而用简短的名字比如a,b,wi之类,更是会糟到老程序员的猛烈批评,说没有意义,时间长了难读难懂。

为了解决这个问题,我想到了用中文变量名,通常中文变量名的长度都要短于相应的英文变量名,通常一个汉字的显示宽度约为英文字母的两倍。那么“当前行”这三个汉字只相当于六个英文字母,而"iCurrentLine"则是12个英文字母。长度相当于汉字的两倍。大家可以看看自己的程序里的变量,是不是这样?

这样做的好处有三点:1.可以使表达式的长度大大缩短。2.对于咱中国人来说,中文比英文更熟练,更容易理解。3.由于变量名是汉字,这样运算符就相对醒目了,以前使用英文变量名的时候,运算符夹在中间,一长串符号,让人看不清。使用中文以后,可以看得很清楚。

请看:iCurrentLine * FontHeight
与: 当前行 * 行高
哪个更清楚?哪个更简短?

当然现在的C语言不支持中文变量名,C语言规定,变量名只能由英文字母、数字和下划线构成。我想到用宏定义的方法,比如在开头,我们定义:#include 当前行 iCurrentLine。但是一个问题又来了:好象C语言的宏标识符也不支持中文,是吗?看来只有由编辑器自己来实现了。

大家觉得这个想法怎么样?
...全文
697 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
coldraing 2012-11-03
  • 打赏
  • 举报
回复
不幸的告诉你一声用vs2008是可以用中文做变量名,类名,你的想法早被微软给实现了,
昆山小妖 2012-07-23
  • 打赏
  • 举报
回复
VS 2010 支持中文变量
startexcel 2011-01-11
  • 打赏
  • 举报
回复
我写了14年程序,以前从不用中文,是因为操作系统、编译器支持不好。
现在开始尝试部分使用中文
1,输入速度慢并不是大问题。各位可以计算下每天的代码量,是不是要满负荷的打8小时,看换成中文是不是真的会影响进度?
2,如果你的目标平台是国内客户WINDOWS,那么编码问题也没多大影响了。因为现在的WINDOWS平台对中文编码支持很好。
3、习惯是问题
bjlancky 2010-12-23
  • 打赏
  • 举报
回复
用了很多年的英文变量名,在使用VS2008后也改用中文变量名
其实没什么不好的,把标点改为英文标点后在使用中也不会降低太多录入速度
只是当前的中文命名没什么标准所以不太被业内认可
但是自己看程序的时候至少舒服了不少
有的时候还是根据自己的意愿走吧,不用什么都相信老手,毕竟很多老手也往往是不敢创新的守旧派
wer之路 2010-04-23
  • 打赏
  • 举报
回复
估计没人考虑,不容易推广
weikaty 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 haozi8993 的回复:]
建议从java入手,那玩意儿支持中文变量名
[/Quote]
我从来还没有听说过java 支持中文命名..如果真的中文命名,建议学.net 或者C# ,他们在vs2005以上完全的支持中文命名.
Einst1993 2010-04-23
  • 打赏
  • 举报
回复
VS2008 2010都支持中文变量名的
saishow 2010-04-23
  • 打赏
  • 举报
回复
等一下我到我的2010里去试用一下看看怎么样。呵呵。
gary_cai 2010-04-23
  • 打赏
  • 举报
回复
要你自己创一门支持中文的语言
到时候大家就可以 想写作文一样写程序了那么不是很好
想的太天真了
yangyunzhao 2010-04-22
  • 打赏
  • 举报
回复
如果连英文变量名都搞不清楚,还是早点该行吧
lovesoo 2010-04-22
  • 打赏
  • 举报
回复
我先 谢谢国家··
dngoryaner 2010-04-22
  • 打赏
  • 举报
回复
呵呵 ..什么想法都有,
十八道胡同 2010-04-22
  • 打赏
  • 举报
回复
vs2010也支持中文变量
Dormy 2010-04-22
  • 打赏
  • 举报
回复
考虑下易语言?……
「已注销」 2010-04-22
  • 打赏
  • 举报
回复
可以用匈牙利命名法
不过楼主这个想法可以跟制定C++标准的组织反映一下
lovesi3344 2010-04-21
  • 打赏
  • 举报
回复
先谢谢国家
ForestDB 2010-04-21
  • 打赏
  • 举报
回复
稍微好点的编辑器都有智能提示了,
好好把握/表示程序的逻辑才是要点。
xeens 2010-04-21
  • 打赏
  • 举报
回复
支持中国英语 拼音其实很强大的说哦
k6k66mirum 2010-04-21
  • 打赏
  • 举报
回复
用英文比较好
星光伴月 2010-04-20
  • 打赏
  • 举报
回复
BCB2010也支持,听说2009就支持了。
加载更多回复(12)

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧