在代码中进行中文命名实践的短期目标
对中文命名的意义不再赘述, 请参看之前的对在代码中使用中文命名的质疑与回应.
去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(Java/JS/Python等, 详见之前的专栏文章), 涉及领域不少但尚未形成明确的重点项目. 发现了一些在业务相关代码使用中文命名的例子(你们在怎样的项目中使用过中文命名? - V2EX), 还未形成社区. 下面是可能的努力方面:
- 编写示例代码为中文命名的教程. 之前有一些尝试, 专栏中带有示例代码的文章也都采用了中文命名
- 在开源项目中实践中文命名, 也欢迎提出实用项目的想法或者例题面试题等
- 开发中文命名的API, 如之前的简繁转换库, 离线英汉词典等
- 补: 在IDE中进行中文命名的辅助工具, 包括输入法与自动补全集成等.
- 开发工具, 辅助翻译现有英文命名的源码为中文命名, 以 #1 辅助在线阅读学习代码或者 #2 批量转换一个项目中的所有源码等等
打算将最后一项作为短期内的中心内容, 围绕它开发一系列开源工具. 包括浏览器插件, IDE插件等.
#1从两个月前开始实践, 最近基本实现了翻译在线代码段(GitHub和码云)的浏览器插件原型(版本已更新至0.0.11, 效果如题图).
#2之前Java源码英翻中是一种可能, 但考虑尽量倚靠IDE本身重构相关API. 首先提取所有代码中的英文命名, 并提取单词(如之前对JDK源码的命名分析), 在机器翻译的基础上, 提供对某些业务术语手动翻译的选项, 之后基于这个词汇表进行源码的批量命名转换.
在此项目实现过程中, 将在源码中使用中文命名, 尽可能提取易于复用的API, 并编写系列技术开发文档. 这样也可以触及上面其他1/2/3三个方面.
项目中必需一些中文自然语言处理和机器翻译相关技术和相关词库/语料数据, 欢迎有兴趣和经验的同仁参与.