UberTechnologies Inc.今天又以Piranha的形式添加了一個開源程序,該工具自動從應(yīng)用程序項目中刪除過時和不必要的代碼。
優(yōu)步最初創(chuàng)建了Piranha,以幫助其開發(fā)人員搜索冗余代碼的移動應(yīng)用程序。 具體來說,軟件清理過期的特征標志,這些標志是支撐現(xiàn)代企業(yè)軟件項目的持續(xù)交付方法所必需的軟件組件。
特征標志,也稱為特征切換,本質(zhì)上是作為一個打開按鈕的代碼。 優(yōu)步使用它們幫助其工程師測試其應(yīng)用程序中的新功能,然后將它們釋放到通用可用性中。 功能標志還提供了一種為不同用戶定制服務(wù)的方法,并將其作為代碼殺死開關(guān),允許工程師遠程禁用應(yīng)用程序的故障部分,以防止其崩潰整個程序。
但隨著收益的增加,會出現(xiàn)一些不利因素。 特征標志將復(fù)雜性添加到應(yīng)用程序的代碼庫中,一旦它們超過了它們的目的,就必須手動刪除。
Piranha背后的Uber工程師在一篇博客文章中解釋說:“這些非功能性功能標志代表著技術(shù)上的債務(wù),使開發(fā)人員難以在代碼庫上工作,并可能使我們的應(yīng)用程序膨脹,需要不必要的操作來影響最終用戶的性能,并可能影響整體應(yīng)用程序的可靠性。
Piranha主要通過自動刪除陳舊的功能標志來應(yīng)對這一挑戰(zhàn)。 該工具在一個應(yīng)用程序中找到了在一段時間內(nèi)沒有被修改的所有功能標志,例如8周,檢查它們是否處于活動使用狀態(tài),當它確定一個組件是陳舊的時,刪除所有相關(guān)代碼。 然后,Piranha將提議的更改提交開發(fā)團隊的相關(guān)成員批準。