概述
标识符的重要性不言而喻,在大型项目开发中,有一个好的标识符,能轻易而准确的理解一个类的概念,一个函数的功能,各个设施的作用和他们之间的联系.比起好的注释,我相信有一个好的标识符更直接重要.
问题描述:
中文标识符没有存在意义吗,中文标识符没有其价值吗?
我相信任何事物都有他的两面性,物皆有其位,在一个正确的地方使用一个正确的工具,就能发挥其价值
首先要强调的一点是,使用中文并非是为了逃避英文,就算是土生土长的英国人,在涉及到专业领域中的很多术语概念时,他们也是完全不懂其单词的,而中文在这方面有着固有的天然优势:
1,望文生义,火车,汽车,磁悬浮列车;引力,重力,磁力,电力;体细胞,骨髓细胞,红细胞,细胞壁,细胞核;汽油,葵花油,植物油;我们可以很容易的理解并推断其含义和他们之间的关系,就算我们不是相关专业领域的专家,但是很多概念,一看就懂
2,对于复杂概念,用中文要简明的多.几乎是任意一本书,其英文版本要比中文版本厚很多,对于复杂概念或行为,用英文作为标识符会很长并且很难控制空格,导致很难阅读,而中文不存在这样的问题;
3,不得不承认,我们的英文水平确实不如以英语为母语的国家,这是生活环境所致,就算英文很好,对于一些不常使用的近义词有时也很难分清具体的含义区别,很多时候在查词典,最终使用一个别人看起来有些怪异的单词也不是什么好的方案.
补充:在Clean Code中有如此表述,别害怕长名称,长而具有描述性的名称,要比短而令人费解的名称好,长而具有描述性的名称,要比描述性的长注释好,别害怕花时间取名字,有专门为取名字而工作的人,而且此书还非常强调名字要可读,即可发音,向PDFC这样不能发音的是不好的,所有的这些在中文中都有与生俱来的优势.
我们应该取长补短,在适当的时机与位置使用中文,会使对象概念理解起来更加容易,我们的祖先已经为我们抽象好了各种概念,在复杂的系统中,用熟悉的中文标识符来代替青涩的英文术语,是一个不错的选择.
一下情况可以考虑使用中文标识符:
1,具体可以独立出来的概念对象,与外界无关,可以自我生存的类,组件.
2,需要用很长的一句话来表达一个函数或动作.
3,使用频率很少或专业性很强的概念
我的建议是中英文混编,英文也有其固有属性优势,或许混合使用起来会感到不便,不习惯,但我相信人的适应性是很强的,关键需要考虑的是这样做从实用角度来讲是否合理,至于中英文混编问题,不都是人类语言吧,所以,大丈夫,萌大奶.
临时想到的补充:
1,3字以内不要使用中文,除非是一个特别明确的概念,类,或对象,否则通常会有更好的英文来代替.
2,变量不要使用中文,尤其是局部变量,使用中文的目的是尽快的从总体,大局上掌握一个项目,理解一个项目,细节以及很小的地方不要使用中文.
命名的补充,最近看CleanCode,讲到命名这里,更觉得用中文实现其思想要容易的多.至于匈牙利命名想了一下确实没有必要添加那么多,好的名字提供的信息已经足够了.除了2个例外,表示类型的类型,即指针(p),引用(r)这2个前缀还是很有必要保留下来,当然在JAVA之类的语言中不需要,因为根本就没的选择.其他的以后再补充.
最后
以上就是复杂草莓为你收集整理的关于中文标识符的思考的全部内容,希望文章能够帮你解决关于中文标识符的思考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复