Piranha

过时代码自动重构工具
授权协议 Apache-2.0
开发语言 Java C/C++ Objective-C SHELL Swift
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 茅昀
操作系统 跨平台
开源组织 Uber
适用人群 未知
 软件概览

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

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

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

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

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

  • There are n piranhas with sizes a1,a2,…,an in the aquarium. Piranhas are numbered from left to right in order they live in the aquarium. Scientists of the Berland State University want to find if ther

  • time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There are nn piranhas with sizes a1,a2,…,ana1,a2,…,an in the aquarium. Piranhas are number

  • 利用红帽 Piranha 方案实现 WEB 负载均衡 准备环境:iptables和selinux均是关闭的。 desktop12.example.com desktop41.example.com(这2台和之前的一样是高可用的HA,假设这2台是真机,也可以是虚拟机,只要你的电脑内存足够大) desktop58.example.com desktop67.example.com(这2台是负载均衡的r

  • https://codeforces.com/contest/1433/problem/C 思路:找序列中最大的,如果满足有一个最大的数旁边存在比它小的数,那么必然能YES,输出这个数位置即可。如果不能满足就是NO。   #include<iostream> #include<vector> #include<queue> #include<cstring> #include<cmath> #in

  • div3 C. Dominant Piranha(思维) 题目链接 题目大意是给你一堆序列,一开始选择一个数,每次可以进行一次操作,如果当前数大于临近的数则可以把周围数“吃掉”,然后序列数减一,该数加一,经过多次操作后如果可以把序列数变为1,如果存在这样的数则输出该数的下标,否则输出-1.(当时打比赛的时候太傻逼了,居然跟着题目走,而没有自己思考,比如找极值或者必胜点), 我们很明显可以得到一个结

  • 硬件型号 工业线阵相机型号:Piranha4_CC-08K050 采集卡型号:OR-Y4C0-XMX00 硬件连接:工业相机需要连接12V到24V电源,使用一个220V转24V的开关电源。使用数据使用cameralink medium/full,需要使用两根cameralink线连接到采集卡。 软件安装 在相机厂商官网可以下载 https://www.teledynedalsa.com/en/pr

 相关资料
  • 主要内容:Eclipse 代码重构Eclipse 代码重构 重命名在整个项目中广泛使用的类可能需要很多时间,但 Eclipse 重构向导通过自动检测对被重命名的类的所有依赖项并对其进行修改,使工作变得更容易。 重构菜单可以通过以下方式打开 : 在 Package Explorer 视图中右键单击 Java 元素并选择 Refactor 菜单项。 在 Java 编辑器中右键单击 Java 元素并选择 Refactor 菜单项。 在包

  • Red-Piranha是一个开源搜索系统,它能够真正"学习"你所要查找的是什么.Red-Piranha 可作为你桌面系统(Windows,Linux与Mac)的个人搜索引擎,或企业内部网搜索引擎,或为你的网站提供搜索功能,或作为一个P2P搜索引擎, 或与wiki结合作为一个知识/文档管理解决方案,或搜索你要的RSS聚合信息,或搜索你公司的系统(包括SAP,Oracle或其它任何 Database/

  • 主要内容:Intellij Idea 重命名,Intellij Idea 复制重构,Intellij Idea 移动重构,Intellij Idea 安全删除,Intellij Idea 查找和替换重复代码重构是改变现有程序结构而不改变其功能和用途的过程。重构还用于提高代码的可重用性、提高性能并删除重复的功能或未使用的功能。重构是一项应该非常小心地执行的任务,因为一个错误可能会产生很多错误。 在重构菜单中,我们可以找到所有可能的重构选项。还有一个可用于重构的快捷方式选项。“Ctrl+Alt+Sh

  • 本文向大家介绍Python重构列表构建代码,包括了Python重构列表构建代码的使用技巧和注意事项,需要的朋友参考一下 示例 假设您具有复杂的代码,该代码通过从空白列表开始并重复添加到列表中来创建并返回列表: 当用列表推导替换内部逻辑不可行时,可以将整个函数转换为就地生成器,然后收集结果: 如果逻辑是递归的,则用于yield from将来自递归调用的所有值包括在“扁平化”结果中:        

  • 5.7.2.再次重构代码 到这里不妨再重构一下代码。不必吝惜重构的机会,它是长线投资,甜头只有在后面才尝的出来。

  • 在Android Studio中开发,解决方案不会总是一蹴而成的。作为一个有效率的编程者,在你的开发,调试和测试中需要一些弹性以及代码重构。随着在这章中的行进,你将明白Android Studio如何产生代码;在这章里你将看到Android Studio如何重构你的代码。重构代码最大的风险是可能引入不期望的错误。通过分析某些风险重构操作的结果,Android Studio减低了这些风险,然后激活F