仓库源文站点原文


layout: post comments: true title: 在代码中进行中文命名实践的短期目标 description: 在代码中进行中文实践的几个短期目标. Some short-term goals of practising naming identifiers in Chinese. date: 2018-11-02 00:00:00 -0700

categories: 命名

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

去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(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三个方面.

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