程序代码中变量名到底是用英文还是用拼音

更新时间:2018-04-23 10:30:40点击次数:484次

这个问题似乎是不需要讨论了。所有有点经验的程序员都会毫不犹豫的回答,当然是英文。但我今天偏要来说一说我自己的意见,并不能这么一概而论。   据某网站调查,给变量命名是程序员每天头疼的事。所以可见不论英文或中文,给变量命名都非易事。

我先给出我自己的命名规则: 
1,  对所有需要阅读你代码的人来说,变量名没有歧义 
2,  在此基础上越短越好 

3,  对整个项目来说形式统一

先说一下第三条,很好理解,比如要用camel case 就都用camel case,要用下划线就都用下划线。这个就不多说了。   根据我的规则,变量名到底是用英文还是拼音,并没有太大关系。   

首先一点,我们要确定阅读你代码的人群。

其实这也是很多程序员说要用英文做变量名的主要原因。很多代码是需要跨国家或地区合作的,或者需要和全世界分享的。那么,英文无疑是好的选择。但还有很多情况下,代码只需要一部分人看懂,或者在端一点,只需要你自己看懂,那么就只需要保证一点就可以了,那就是没有歧义。

我看过一些日本程序员的代码,他们很多人都是大大方方的直接用平假名的罗马注音来命名变量。因为人家本来就是只给日本程序员看的,我们偷看本来就是不对的。

人家用平假名给变量起名,还变相的相当于给程序加密了呢。说道这里,我仿佛意识到了为什么日本没有大的国际IT公司了,但是不得不说,他们自己国内的IT公司的水平,其实一点也不比美国的差的。   

有些观点认为,程序具有天生的需要给全世界共享的需求。这点我也不是很认同,也有其他具有类似属性的东西,比如论文。那我们是不是所有的论文都要用英文写,中文的论文就一点价值都没有了呢?   

也有些人不用拼音的原因是用拼音的歧义较多。比如biaoGe可能是表格,也可能是表哥。这一点其实在韩语去汉字化过程中很多人都提到过。韩语的书写文字中之前存在大量的汉字,在二战后,韩国和朝鲜几乎同时改革文字,将韩语中的汉字全部去掉,只留下韩语本身的注音字符。(那些符号相当于拼音,所以只要你学会那些符号的念法和拼法,就能读出所有的韩语了)刚开始人们有些不习惯,但是现在已经很少有歧义了。因为理解一个词的意思不光取决于读音,还取决于上下文语境。你说提交biaoGe,和我的biaoGe,相信大部分人都能理解说的是表格,第二个说的是表哥。其实程序跟文章一样,也是有语境的。如果想将拼音本身进一步消歧,也是有办法的,比如在拼音后面加上声调,biao3ge2,这样一下就能读出是表格了。

  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息
  • 项目经理 点击这里给我发消息