Facebook 开源 Haskell 代码重构工具 Retrie
Facebook 开源了Haskell 代码重构工具Retrie,该工具能够使代码重构的过程更轻松、速度更快,也能够令重构后的代码更加安全。Retrie 拥有重写表达式、类型和模式的功能,还具有重写脚本和附加条件的能力,并包含一个用于编写更高级重写脚本的库。 根据 Facebook 给出的信息,开发者可以利用Retrie 重新编写超过 100 万行的大型代码库,并且是使用 Haskell 语法的方程式,而非正则表达式,以避免出现大型类别的重构错误。 代码重构对改善代码库的总体设计来说很有必要,但这一过程也十分繁琐且耗时。因此,Facebook 表示,重构工作通常手动完成,增量也较小,这样才能尽可能地防止错误。然而,随着代码库大小的增长,这种方法会越来越行不通,必须依靠工具的辅助。 重构工具可粗略地归为两类:一类是查找和替换字符串操作工具,例如 sed,这类工具速度很快,但是很难表达复杂的重写概念;另一类是用于解析和处理抽象语法树(AST)的工具,这类工具功能较为强大,但需要的领域知识更广泛,与前一类工具相比来说,速度也较慢。 此次新开源的 Retrie 则介于这二者之间。与使用复杂的正...