APP下载

脸书开源Haskell重构工具Retrie

消息来源:baojiabao.com 作者: 发布时间:2024-05-18

报价宝综合消息脸书开源Haskell重构工具Retrie

脸书在GitHub上开源了Haskell程式码重构工具Retrie,该工具可简化Haskell程式重构工作,提升整体重构速度,并且使重构程式码更加安全,脸书提到,开发人员可以利用Retrie,重新编写超过100万行程式码的大型Haskell程式,其使用Haskell语法中的方程式,而非正规表示式,因此更为简单,且Retrie还能避免出现大型类别的重构错误。

重构程式码可以改善程式码库的整体设计,但整个过程可能相当繁琐耗时,脸书表示,重构时为了避免错误,通常是以人工手动更改的方式进行,并且每次少量的渐增进行,但是随着程式码增加,这种方法越来越不可行,需要使用工具来协助重构进行。

而重构工具主要分为两类,一类是查询和替代字串工具,这类工具虽然执行快速,但是很难表达复杂的重写概念,而另一种则是解析和操作抽象语法树(Abstract Syntax Tree,AST)的工具,但因为需要广泛的领域知识门槛较高,且较字串替代的方法慢。

Retrie的定位则在两者中间,相较定义正规表示式和AST走访,以Haskell语法方程式进行重新编写更容易,脸书表示,因为方程式比正规表示式更强大,而且可以编写脚本,因此Retrie比单纯取代字串的方法更灵活,而且Retrie还利用多种解析技术,缩小寻找相符项目的搜寻空间,比典型的AST工具更快。

脸书提到,在2015年的时候,他们发现反滥用规则引擎Sigma的规则日益增加,为了更容易地管理其规模以及复杂性,便把Sigma移植到了Haskell上,脸书利用Sigma来阻挡垃圾邮件、网络钓鱼攻击和恶意软件,进而保护脸书上的使用者。Retrie可以让脸书快速安全地将Sigma的规则,搬迁到新的API以及函式库上。

2020-07-08 10:47:00

相关文章