看到知乎上有个热门问题,为什么很多人反对中文在编程中的使用?
这个问题有几百万的浏览热度,其中排名第一的回答非常简洁,我深以为然:
在国内做开发,用中文写注释、写文档,是非常好的习惯,因为太缺优秀的中文文档了,目之所及很多框架都没有完整的中文文档。
除此之外,其他形式用中文硬替代英文的编程行为,都有点化简为繁、舍易求难的味道。
包括但不限于,用中文变量名、用中文解释关键字、用中文字段名、用中文文件名和路径等等。
为什么呢?编程中使用中文会造成一些不必要的困扰和错误。
首先,编程语言本身是英文的,很多关键词用英文表达更准确,已经是约定俗称的东西
比如Python中的return,凡是学过编程的见名知义,return将函数中的结果返回给调用者。
如果要把return翻译成中文:返回、返回值、送回、给出…总觉得言不及义
而且不同人有不同的中文翻译方式,会增加沟通和理解的成本。
其次,在编程中使用中文可能会导致错误,比如编码错误、不兼容等
有些人习惯用中文写文件名和路径,当你在代码中读取文件的时候,很有可能出现编码错误。
还有在数据库中使用中文字段,这也会导致编码错误和不兼容的问题,其次对于数据库的维护也是极不方便的。
虽然现在很多语言和数据库都支持Unicode字符集,允许中文做变量、字段,但是为了避免不必要的错误,实在不建议用。
最后,编程不光给自己看,还要方便其他开发者阅读,除了文档和注释外,最好不要用添加中文,方便团队里人阅读和维护
总得来说,还是要老老实实遵循编程规范,只做对的事。
谷歌有个编程规范文档,对C++、Python、Javascript等各种编程语言都做了详细说明,大家没事可以看看
以Python为例,有语言规范和风格规范,语言规范包括各种函数、模块、方法的规范
风格规范包括对注释、缩进、行宽等进行了规范