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

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

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

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

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

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

五笔编码编辑器

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

五笔项目代码片段

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

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

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

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

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

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

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

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

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

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4552012/blog/5005465

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。