中文编程
首发于中文编程
在代码中进行中文命名实践的短期目标

在代码中进行中文命名实践的短期目标

对中文命名的意义不再赘述, 请参看之前的对在代码中使用中文命名的质疑与回应.

去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(Java/JS/Python等, 详见之前的专栏文章), 涉及领域不少但尚未形成明确的重点项目. 发现了一些在业务相关代码使用中文命名的例子(你们在怎样的项目中使用过中文命名? - V2EX), 还未形成社区. 下面是可能的努力方面:

  1. 编写示例代码为中文命名的教程. 之前有一些尝试, 专栏中带有示例代码的文章也都采用了中文命名
  2. 在开源项目中实践中文命名, 也欢迎提出实用项目的想法或者例题面试题
  3. 开发中文命名的API, 如之前的简繁转换库, 离线英汉词典
  4. 补: 在IDE中进行中文命名的辅助工具, 包括输入法与自动补全集成等.
  5. 开发工具, 辅助翻译现有英文命名的源码为中文命名, 以 #1 辅助在线阅读学习代码或者 #2 批量转换一个项目中的所有源码等等

打算将最后一项作为短期内的中心内容, 围绕它开发一系列开源工具. 包括浏览器插件, IDE插件等.

#1从两个月前开始实践, 最近基本实现了翻译在线代码段(GitHub和码云)的浏览器插件原型(版本已更新至0.0.11, 效果如题图).

#2之前Java源码英翻中是一种可能, 但考虑尽量倚靠IDE本身重构相关API. 首先提取所有代码中的英文命名, 并提取单词(如之前对JDK源码的命名分析), 在机器翻译的基础上, 提供对某些业务术语手动翻译的选项, 之后基于这个词汇表进行源码的批量命名转换.

在此项目实现过程中, 将在源码中使用中文命名, 尽可能提取易于复用的API, 并编写系列技术开发文档. 这样也可以触及上面其他1/2/3三个方面.

项目中必需一些中文自然语言处理和机器翻译相关技术和相关词库/语料数据, 欢迎有兴趣和经验的同仁参与.

编辑于 2018-11-03

文章被以下专栏收录

    在所有编程语言和领域中尝试编写中文代码,开发相关工具,总结经验,一致代码风格。包括中文命名,汉化现有语言,创造中文语法的编程语言等等。作为最熟悉的母语,用来编写代码会让代码更容易被自己和母语相同的其他开发者理解。基于英文的编程语言和框架中,使用中文命名有时有技术问题。希望这里为后人趟雷,填坑。多数现有API是英文的,这里也会对其中一些常用的进行汉化。当然,这里也会对基于中文的编程语言进行探讨。包括汉化基于英文的编程语言,以及创造新的编程语言。