看到庄表伟的《开源社区应该选择什么语言?》一文,其中建议一刀切地使用英文命名标识符:git
咱们将一个源代码文件,看作一篇完整的文章。在这篇文章中:中英文夹杂,甚至英文加汉语拼音混杂都是严重影响阅读体验的程序员
包命名、文件名、函数名、变量名等等,都严重建议一概使用英文github
不得不来发表些我的观点。在《Gitee 开源指北》第 5 小节:有关开源的常见误区 中,有与本文同题的一节进行阐述。三个月前还围绕此部分进行了一场 持续很多天、来回数十回合的论辩。有兴趣的能够细看,此文仅分享一个两年半前的开源合做实践经历。编程
那天在 v2ex 碰到一个开发请求,由此催生了 五笔编码编辑器 这个微型开源项目,此为 过后结贴。架构
九月十八日开始合做时,请求者 明说无编程经验。在原型搭建时,我提到会使用中文命名,最后实现的 Python 代码片断以下:编辑器
一开始很但愿以后的维护由他多出力,但感受那时他的动力并不大。花个把礼拜作出了雏形,意外和惊喜的是,这位在九月二十八日就提交了这个“照猫画虎” PR,而且以后持续改进,十月以后我除了合并 PR 以外基本没有投入其余精力。ide
可见中文命名对于鼓励新手参与开源项目的做用。函数
开源项目的基本架构搭建以后,若是项目自己使用的是中文命名,用户(每每非程序员)应该会更有动力去学习代码。并非说英文命名确定会阻止参与项目,但会让很大一部分人望而却步。学习
实际上开源项目很大一部分工做量在于后期维护、界面改进、类似功能的堆积,以及相关测试。这部分彻底能够由原做者以外的参与者,即普通用户来实现,原做者就能够专心投入到架构/大功能的优化改进上。长此以往,编程新手也会逐渐成为熟练程序员、核心贡献者。测试
可以吸引更多人来投入项目,而不是点个星就走,是开源项目可以壮大和持久的关键。任何可以下降参与门槛的技术,都应该值得项目做者认真考察,根据项目酌情决定。
回忆一下,不管是开源仍是闭源项目,过去几周有没有碰到以下状况之一:
- 翻本身以前写的代码,发现某个标识符不知所谓
- 看别人的代码,不懂某个标识符
- 同事来问你某个标识符啥意思
在我看来,这种时候就能够考虑一下,将这个标识符改为中文会不会少些麻烦。大能够从须要的地方开始改,不用上来就把整个项目的标识符所有中文化。
补:最多见的问题之一是:"用中文命名以后,国外开发者如何参与"? 对此在《Gitee 开源指北》中也有说起,能够另开文章详述。