日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Uber 开源 Piranha,可自动删除过时代码

發布時間:2023/11/21 综合教程 40 生活家
生活随笔 收集整理的這篇文章主要介紹了 Uber 开源 Piranha,可自动删除过时代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  Uber 開源了一款自動化工具 Piranha,該工具能夠自動從應用程序代碼庫中刪除過時的和未使用的代碼。

  ▲Piranha,意為“食人魚”

  根據 Uber 官方博客的介紹,開發 Piranha 的初衷是消除過時代碼帶來的負面影響。當一項特性已 100% 推送給用戶后,或某些實驗性功能失敗后,代碼中的特性標識(feature flags)就已過時。而它可能導致技術債的產生,使應用程序變得更加臃腫,開發人員為此要執行更多不必要的操作,甚至可能影響到程序的整體性能。消除技術債不僅耗時,也會影響到新功能的開發。

  為了使該過程自動化,Uber 開發了Piranha,它可以通過掃描源代碼,來刪除與過時的特性標識相關的代碼,從而使代碼庫更清潔、更安全、性能更高,且更易于維護。對于企業來說,Piranha 有助于加快開發周期、降低維護成本,并改善用戶體驗。

  目前為止,Piranha 已經在Uber 的Android 和 iOS 代碼庫中運行了相當長一段時間,被用來刪除了約兩千個過時的特性標識及相關代碼。開源后的Piranha 包含三個獨立的版本,分別支持三種不同的語言:Objective-C、Swift 和 Java。

  Piranha 首先會輸入標識的名稱、預期的處理行為以及標識作者的名稱,接著分析程序的抽象語法樹(AST)以生成適當的重構,并將其打包到 diff 中,分配給對應的作者進一步檢查,作者可以將更改提交到主代碼庫,或者在必要時執行其他重構。

  Uber 表示,Piranha 作為獨立工具可執行代碼重構,也可作為工作流管道的一部分。該管道可定期自動生成 diff 和任務,以清除過時的特性標識。

  上圖展示了 Piranha 管道的架構圖。Piranha 會先生成一個 diff,將其放入代碼審查系統,該標識的原始作者為默認審查者。作者可以按原樣接受 diff,根據需要對其進行修改,也可以拒絕并將其標記為not being stale(未過時)。這個管道還在任務管理系統中生成了一個清理任務,以跟蹤每個 diff 的狀態。另外,由于開發人員并不總是能夠及時地對它們采取行動,這里還引入了一個被稱作PiranhaTidy 的提醒機器人,以定期添加 Piranha 相關任務的提醒。

  Piranha 管道采用啟發式(heuristic)方法,將超過特定時間段未修改的標識視為過時,并為它們生成 diff。至于具體的時間段設置,可以自定義。根據Uber 的說法,Piranha 能夠處理數百萬行代碼,平均不到 3 分鐘即可生成 diff。

  接下來,Piranha 有可能會擴展至更多語言,Uber 號召更多開發人員來一起為它做出貢獻。

  有關Piranha 的更多信息可查看 Uber 博客原文:https://eng.uber.com/piranha/

總結

以上是生活随笔為你收集整理的Uber 开源 Piranha,可自动删除过时代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。