2

开源项目必须用英文命名标识符吗?

 3 years ago
source link: https://my.oschina.net/u/4552012/blog/5005465
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
开源项目必须用英文命名标识符吗? - 吴烜2020的个人空间 - OSCHINA - 中文开源技术交流社区

看到庄表伟的《开源社区应该选择什么语言?》一文,其中建议一刀切地使用英文命名标识符:

我们将一个源代码文件,看做一篇完整的文章。在这篇文章中:中英文夹杂,甚至英文加汉语拼音混杂都是严重影响阅读体验的

包命名、文件名、函数名、变量名等等,都严重建议一律使用英文

不得不来发表些个人观点。在《Gitee 开源指北》第 5 小节:有关开源的常见误区 中,有与本文同题的一节进行阐述。三个月前还围绕此部分进行了一场 持续数日、来回数十回合的论辩。有兴趣的可以细看,此文仅分享一个两年半前的开源合作实践经历。

那天在 v2ex 碰到一个开发请求,由此催生了 五笔编码编辑器 这个微型开源项目,此为 事后结贴

五笔编码编辑器

九月十八日开始合作时,请求者 明说无编程经验。在原型搭建时,我提到会使用中文命名,最后实现的 Python 代码片段如下:

五笔项目代码片段

一开始很希望之后的维护由他多出力,但感觉那时他的动力并不大。花个把礼拜做出了雏形,意外和惊喜的是,这位在九月二十八日就提交了这个“照猫画虎” PR,并且之后持续改进,十月之后我除了合并 PR 之外基本没有投入其他精力。

可见中文命名对于鼓励新手参与开源项目的作用

开源项目的基本架构搭建之后,如果项目本身使用的是中文命名,用户(往往非程序员)应该会更有动力去学习代码。并不是说英文命名肯定会阻止参与项目,但会让很大一部分人望而却步。

实际上开源项目很大一部分工作量在于后期维护、界面改进、相似功能的堆积,以及相关测试。这部分完全可以由原作者之外的参与者,即普通用户来实现,原作者就可以专心投入到架构/大功能的优化改进上。久而久之,编程新手也会逐渐成为熟练程序员、核心贡献者。

能够吸引更多人来投入项目,而不是点个星就走,是开源项目能够壮大和持久的关键。任何能够降低参与门槛的技术,都应该值得项目作者认真考察,根据项目酌情决定。

回忆一下,无论是开源还是闭源项目,过去几周有没有碰到如下情况之一:

  • 翻自己之前写的代码,发现某个标识符不知所谓
  • 看别人的代码,不懂某个标识符
  • 同事来问你某个标识符啥意思

在我看来,这种时候就可以考虑一下,将这个标识符改成中文会不会少些麻烦。大可以从需要的地方开始改,不用上来就把整个项目的标识符全部中文化。

补:最常见的问题之一是:"用中文命名之后,国外开发者如何参与"? 对此在《Gitee 开源指北》中也有提及,可以另开文章详述。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK