Uber 开源自动化工具 “食人鱼”,专门吃掉你的旧代码

更新于 3月21日  约 2 分钟

食人鱼的菜单上通常没有代码,但今天说的这种鱼却有所不同。

Uber 开源了一款自动化工具,名为 Piranha(意为:食人鱼),该工具能够自动从应用程序代码库中删除过时的和未使用的代码。

自动化工具 Piranha

clipboard.png

根据 Uber 官方博客的介绍,在Uber,工程师们使用功能标记来自定义我们的移动应用执行,为不同的用户组提供不同的功能。这些标志允许例如在运营的不同区域中本地化用户的体验,更重要的是,逐步向用户推出功能并尝试使用同一功能的不同变体。

但是,在某项功能已 100% 推广给用户或实验性功能被认为不成功之后,代码中的功能标志就过时了。这些非功能性特征标志代表技术负担,使开发人员难以在代码库上工作,并且可能使应用程序臃肿,需要进行不必要的操作,这些操作会影响最终用户的性能并可能影响整体应用程序的可靠性。

对于工程师而言,消除这些「债务」可能会非常耗时,从而阻止他们开发新功能。

为了使该过程自动化,Uber 开发了 Piranha,该工具可扫描源代码以删除与过时或过时的功能标志相关的代码,从而使代码库更干净,更安全,性能更高且更易于维护。

已正式投入使用

目前为止,Uber 已经实现了用 Piranha 来重构 Objective-C、Swift 和 Java 程序。接下来,Piranha 有可能会扩展至更多语言(例如 Kotlin,Go 等),同时 Uber 也号召更多开发人员来一起为它做出贡献。

Piranha 项目博客:
https://eng.uber.com/piranha/

GitHub 地址:
https://github.com/uber/piranha

clipboard.png

阅读 6.1k更新于 3月21日

推荐阅读

SegmentFault 思否对开发者行业的洞见、观察与报道

14876 人关注
90 篇文章
专栏主页
目录