Piranha 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Piranha 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Piranha 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
操作系统 跨平台
软件类型 开源软件
开源组织 Uber
地区 不详
投 递 者 xplanet
适用人群 未知
收录时间 2020-03-19

软件简介

Piranha 是一种自动重构过时标识相关代码的工具。在属性文件中指定与标识相关的 API 列表之后,该工具会输入标识名称和预期处理行为,并根据这些来自动重构代码。

特性标识(feature flags)通常用于启用逐步推出或尝试新功能。在某些情况下,即使在达到标识目的之后,与特性标识有关的代码也没有被删除,而这类标识就成为了过时标识,它存在以下缺点:

  • 不必要的代码混乱会增加维护的总体复杂性,从而降低开发人员的工作效率
  • 这些标识可能会干扰其他实验性标识
  • 源代码中还有未使用的代码以及二进制文件
  • 过时代码也会导致一些 bug

Piranha 可以通过扫描源代码来删除与过时的特性标识相关的代码,从而使代码库更清洁、更安全、性能更高,且更易于维护。

Piranha 包含三个独立的版本,分别支持三种不同的语言:Objective-C、Swift 和 Java。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表于AI & 大数据专区
2020/03/19 08:23

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

Uber 开源了一款自动化工具 Piranha,该工具能够自动从应用程序代码库中删除过时的和未使用的代码。 ▲Piranha,意为“食人鱼” 根据 Uber 官方博客的介绍,开发 Piranha 的初衷是消除过时代码带来的负面影响。当一项特性已 100% 推送给用户后,或某些实验性功能失败后,代码中的特性标识(feature flags)就已过时。而它可能导致技术债的产生,使应用程序变得更加臃肿,开发人员为此要执行更多不必要的操作,甚至可能影响到程序...

20
56
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Junit 信息泄露漏洞
关键资源的不正确权限授予
Junit是个人开发者的一个开放源代码的Java测试框架。 JUnit4 4.13.1之前版本存在信息泄露漏洞,该漏洞源于测试规则TemporaryFolder包含一个本地信息泄露漏洞。在类似Unix的系统中,系统的临时目录在该系统上的所有用户之间共享。因此,在将文件和目录写入此目录时,默认情况下,相同系统上的其他用户都可以读取它们。此漏洞不允许其他用户覆盖这些目录或文件的内容。这纯粹是一个信息披露的漏洞。如果JUnit测试编写了敏感信息,这个漏洞就会对您造成影响。
CVE-2020-15250 MPS-2020-15183
2022-08-08 18:13
pathval 输入验证错误漏洞
原型污染
pathval是Chai.js团队的一个用于基于 String 字符串来检索和设置对象的 Npm 代码库 pathval 1.1.1之前版本存在输入验证错误漏洞。该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE-2020-7751 MPS-2020-15246
2022-08-08 18:13
colors.js 安全漏洞
不可达退出条件的循环(无限循环)
Colors.js是美国Marak个人开发者的用于在 Node.js 控制台中获取颜色。 colors.js 中存在安全漏洞。攻击者可以通过 AmericanFlag 模块中的无限循环引入拒绝服务 (DoS) 的攻击。
CVE-2021-23567 MPS-2021-19606
2022-08-08 18:13
Async 安全漏洞
原型污染
Async是英国Caolan McMahon个人开发者的一个实用模块。用于使用异步 JavaScript。 Async 3.2.1 及之前版本存在安全漏洞,该漏洞源于 mapValues() 方法。攻击者可通过 mapValues() 方法获取权限。
CVE-2021-43138 MPS-2021-34434
2022-08-08 18:13
flat 存在拒绝服务漏洞
拒绝服务
flat 是一个使用嵌套的 Javascript 对象并将其展平,或使用分隔键取消展平对象此包的受影响版本容易受到原型污染。
MPS-2022-13681
2022-08-08 18:13
semver-regex 存在不正确的正则表达式漏洞
不正确的正则表达式
semver-regex 是用于匹配 semver 版本的正则表达式 此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14030
2022-08-08 18:13
semver-regex 存在拒绝服务漏洞
拒绝服务
semver-regex 是用于匹配 semver 版本的正则表达式。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14031
2022-08-08 18:13
semver-regex 存在ReDoS漏洞
ReDoS
semver-regex 是用于匹配 semver 版本的正则表达式。由于 semverRegex() 函数中的正则表达式使用不当,此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14032
2022-08-08 18:13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
34 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部