工作中经常遇到一些奇奇怪怪的英文命名,自己的英文水平也很一般,有时就会想如果用中文命名会不会更利于在小团队里沟通和阅读?
上网查了一下:
用中文命名的缺点有:
不易于交流: 外国人看不懂
编码效率低: 不停地在中英文之间切换,一些编辑器自动补全不支持兼容或跨平台问题: 有些编译器不支持
其它意想不到的问题:
当你把这些东西放到svn上或者在放到各种iis服务器上,然后再下载,你就有几率发现你打开后变量名一塌糊涂、整个代码或许因为中文乱码无法继续运行、出现各种奇怪的无法解决的错误等等。
网络传输、不支持utf编辑器编辑、在不支持utf8的系统下打开等等操作都有可能造成您的源代码编码丢失、你再次下载回你远端备份的代码后发现完全无法使用、多系统切换随手打开编辑小问题导致编码丢失。。。windows转linux后导致丢失,用写字板打开后导致丢失等等等等。。。。
微软的vs确实对中文支持完美,但是其他各个环节只要出错就会后患无穷。
这些还仅仅是说你跨系统、跨网络传输等情况,尚未说其他可能出现的情况。
所以并不是说中文变量名有什么不好或不优秀,毕竟使用英文变量名不会造成更多的问题。
我的决定是宁可用拼音写代码也别用中文,您使用拼音或者五笔的英文代码也应该不影响您的阅读并且和您的输入速度应该也不相上下。
我选择英文字母变量名,具体操作使用拼音或者拼音+英文缩写作为我的变量名。我相信可读性和中文编码不相上下。至少,我节约了选字和敲空格的时间不是么?
优点:
如果团队里大家英语都很一般,与其起个外国人都看不懂的英文名,还不如用中文或者拼音
参考: http://bbs.csdn.net/topics/390150687?page=1#post-395705600