专栏名称: JavaScript
面向JavaScript爱好人员提供:前端最新资讯、原创内容、JavaScript、HTML5、Ajax、jQuery、Node.js等一系列教程和经验分享。
目录
相关文章推荐
51好读  ›  专栏  ›  JavaScript

为什么你不用更好的编程语言重写它

JavaScript  · 公众号  · Javascript  · 2017-05-27 11:02

正文

请到「今天看啥」查看全文


GTK-doc就是一个正在转换中的工具,它是主要用Perl编写的文档生成工具。我跟上游团队一起将他转成Python 3。从很多方面讲,这是个具有教育意义的体验。首先学到的是,在两种语言间转换通常可以分为三个独立的阶段。

1.手动语法转换
2.修复转换错误导致的bug
3.将代码转换成目标语言惯用的方式

对gtk-doc来说,从Perl到Python的转换相对简单。因为主要处理的是正则表达式、数组、字典,这三者在两种语言中基本相同,所以步骤一主要是体力活。步骤二包含修复步骤一引入的bug和行为变化(behavioural changes,多数由于步骤一的拼写、粗心导致的问题)。这个阶段主要是调试。步骤三是将正则表达式、全局变量转成对象、其他合理并可读的结构。

在进行转换时,我一直主要在关注第一步,因为gtk-doc维护者已经证实过步骤二和三了。在转换6000多行gtkdoc-mkdb文件时,我做了一些测量,结果是我可以以每小时500行的峰值速度进行转换,意思是每行代码大约需要7秒。







请到「今天看啥」查看全文