在代码中进行中文命名实践的短期目标
对中文命名的意义不再赘述, 请参看之前的对在代码中使用中文命名的质疑与回应.
去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(Java/JS/Python等, 详见之前的专栏文章), 涉及领域不少但尚未形成明确的重点项目. 发现了一些在业务相关代码使用中文命名的例子(你们在怎样的项目中使用过中文命名? - V2EX), 还未形成社区. 下面是可能的努力方面:
- 编写示例代码为中文命名的教程. 之前有一些尝试, 专栏中带有示例代码的文章也都采用了中文命名
- 在开源项目中实践中文命名, 也欢迎提出实用项目的想法或者例题面试题等
- 开发中文命名的API, 如之前的简繁转换库, 离线英汉词典等
- 补: 在IDE中进行中文命名的辅助工具, 包括输入法与自动补全集成等.
- 开发工具, 辅助翻译现有英文命名的源码为中文命名, 以 #1 辅助在线阅读学习代码或者 #2 批量转换一个项目中的所有源码等等
打算将最后一项作为短期内的中心内容, 围绕它开发一系列开源工具. 包括浏览器插件, IDE插件等.
1从两个月前开始实践, 最近基本实现了翻译在线代码段(GitHub和码云)的浏览器插件原型(版本已更新至0.0.11, 效果如题图).
2之前Java源码英翻中是一种可能, 但考虑尽量倚靠IDE本身重构相关API. 首先提取所有代码中的英文命名, 并提取单词(如之前对JDK源码的命名分析), 在机器翻译的基础上, 提供对某些业务术语手动翻译的选项, 之后基于这个词汇表进行源码的批量命名转换.
在此项目实现过程中, 将在源码中使用中文命名, 尽可能提取易于复用的API, 并编写系列技术开发文档. 这样也可以触及上面其他1/2/3三个方面.
项目中必需一些中文自然语言处理和机器翻译相关技术和相关词库/语料数据, 欢迎有兴趣和经验的同仁参与.
2018-11-02
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在线代码离线翻译Chrome插件"一马"v0.0.8
续前文: Chrome插件实现GitHub代码离线翻译v0.0.4 添加了对"码云"在线代码的翻译支持, 因此改名暂为"一马". 在此贴中调研了常用的在线代码网站: 各位都在什么源码站上在线看代码? - V2EX, 暂未发现其他. 注: 此插件调用浏览器插件-离线英汉词典 0.0.7进行查词, 因此也不依赖任何在线翻译服务, 不存在API调用限制. 改进功能: 支持"码云"代码翻译 添加 C/PHP 关键词的翻译 删除释义中的括号内内容 无法粘贴图片。详见原文:https://zhuanlan.zhihu.com/p/48120706 "码云"的代码段与GitHub的HTML结构略有不同, 暂时分别处理如下: function 获取代码段() { var 当前域名 = window.location.host; // 默认, 适用于GitHub var 代码段节点 = document.body.getElementsByTagName('table')[0]; if (当前域名 == "gitee.com") { 代码段节点 = document.body.getElementsBy...
- 下一篇
专栏全年主题合辑-中文编程语言开发尝试
注: 本文仅对个人尝试作一小结, 专栏中其他作者的尝试还望各自总结 对自研中文编程语言的尝试也许始于2015年对CoffeeScript的部分关键词汉化和Java实现的汇编语言编译器的开发. 2017年10月那场请求C#提供汉化版的讨论也给了更多的动力. 之后对开源非英文关键词编程语言进行了一些调研, 尤其对日语编程语言"抚子"进行了较深入的学习: 日语编程语言"抚子" - 第三版特色初探 日语编程语言"抚子"-第三版实现初探 期间认识到国人创造中文编程语言的优势, 并整理了对中文语法的编程语言的质疑与回应. 之后的实验编程语言以"圈"命名, 第一个尝试是编程语言试验之Antlr4+Java实现"圈2". 接下来是对中文编程语言之Z语言初尝试: ZLOGO 4, 此文后的数十回合回复应该是专栏建立之后第一次也是仅有的一次在专栏内进行的公开热烈讨论. 在此讨论的激励下, 进行了中英文代码对比之ZLOGO 4 & LOGO, 并开始了基于JavaScript并可以在线运行的编程语言开发--"圈3", 它也是个人最接近实用的一个语言工具: 作为原型的编程语言试验之Antlr4+Jav...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装