Facebook開源Haskell重構工具Retrie

來源:十輪網
作者:十輪網編輯
時間:2020-07-13
2718
臉書在GitHub上開源了Haskell程序代碼重構工具Retrie,該工具可簡化Haskell程序重構工作,提升整體重構速度,并且使重構程序代碼更加安全,臉書提到,開發(fā)人員可以利用Retrie,重新編寫超過100萬行程序代碼的大型Haskell程序,其使用Haskell語法中的方程式,而非正規(guī)表達式,因此更為簡單,且Retrie還能避免出現(xiàn)大型類別的重構錯誤。

臉書在GitHub上開源了Haskell程序代碼重構工具Retrie,該工具可簡化Haskell程序重構工作,提升整體重構速度,并且使重構程序代碼更加安全,臉書提到,開發(fā)人員可以利用Retrie,重新編寫超過100萬行程序代碼的大型Haskell程序,其使用Haskell語法中的方程式,而非正規(guī)表達式,因此更為簡單,且Retrie還能避免出現(xiàn)大型類別的重構錯誤。

fireshot_capture_756_-_retrie_a_powerful_easy-to-use_codemodding_tool_for_haskell._-_hackage.haskell.org_.jpg

重構程序代碼可以改善程序代碼庫的整體設計,但整個過程可能相當繁瑣耗時,臉書表示,重構時為了避免錯誤,通常是以人工手動更改的方式進行,并且每次少量的漸增進行,但是隨著程序代碼增加,這種方法越來越不可行,需要使用工具來協(xié)助重構進行。

而重構工具主要分為兩類,一類是查詢和替代字符串工具,這類工具雖然執(zhí)行快速,但是很難表達復雜的重寫概念,而另一種則是解析和操作抽象語法樹(Abstract Syntax Tree,AST)的工具,但因為需要廣泛的領域知識門檻較高,且較字符串替代的方法慢。

Retrie的定位則在兩者中間,相較定義正規(guī)表達式和AST走訪,以Haskell語法方程式進行重新編寫更容易,臉書表示,因為方程式比正規(guī)表達式更強大,而且可以編寫腳本,因此Retrie比單純取代字符串的方法更靈活,而且Retrie還利用多種解析技術,縮小尋找相符項目的搜索空間,比典型的AST工具更快。

臉書提到,在2015年的時候,他們發(fā)現(xiàn)反濫用規(guī)則引擎Sigma的規(guī)則日益增加,為了更容易地管理其規(guī)模以及復雜性,便把Sigma移植到了Haskell上,臉書利用Sigma來阻擋垃圾郵件、網絡釣魚攻擊和惡意軟件,進而保護臉書上的用戶。Retrie可以讓臉書快速安全地將Sigma的規(guī)則,搬遷到新的API以及函數庫上。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
版權說明:本文內容來自于十輪網,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家