automated-refactoring相关内容

自动重构工具来查找类似的 Java/Javascript 重复源代码?

我正在寻找一种工具来查找 Java/Javascript 的重复或相似代码.我无法说出“similar"的确切定义,但我希望该工具足够智能并给我一些重构代码的建议,例如, (1) A 类和 B 类具有相似的方法(例如,有 5 个方法具有相同的方法名称、参数和相似的实现出现在两个类中),那么应该建议将这些相似的方法移到基类中. (2) 类 A 多次在不同的地方有相似的代码行,工具应该建议将这 ..
发布时间:2022-01-10 14:01:32 Java开发

编写自定义重构脚本的最佳Java库是什么?

我计划对大型项目进行复杂的重构,默认的ide功能还不够.如果可能,还请提供教程链接. 语言:java,xml 我谈论用于Java重构的程序化api 示例我在项目中创建了新的api,我想自动折射一些代码以使用它,即ast树的源到源转换 解决方案 总是存在 Eclipse ;您应该能够通过其内部过程API访问其Java重构机制.我不知道这些是容易找到还是有据可查的.没有源到源 ..
发布时间:2021-05-15 19:28:12 Java开发

通过重构自动简化代码

是否存在用于通过重构自动简化Java代码的工具? 有用于Python和C的此类工具: 自动简化/重构Python代码(例如,用于循环->列表理解)? 是否有工具可以测试c程序的简洁性?) 但我不知道有任何此类Java程序。 在很多情况下,工具可以自动简化代码,例如: 循环: for(String s:a){b.add( s); } → b.addAll(a); 如 ..
发布时间:2020-06-06 19:48:09 Java开发

如何检测if(true)和其他重构问题?

在Java中,当使用“现代” IDE时,通常会内联变量值并执行繁重的重构,例如,可以转换此源代码。 布尔测试= true; // ... if(test){ // ... } 进入此代码 if(true){ //。 .. } 显然,可以简化此代码,但是Eclipse无法执行 那么,有什么方法(使用Eclipse或什至更好 ..
发布时间:2020-06-06 19:48:06 其他开发

如何使用Xcode提取重构功能?

如何使用Xcode的 提取 重构工具? 无论选择什么代码,我总能得到相同的无益错误消息。 所选内容不包含任何可以提取的内容。进行 的其他选择,然后重试。 请参见以下屏幕截图: 要使其正常工作,我需要遵循什么条件? 我是在一个简单的iOS项目中执行此操作,没什么特别的,没有C ++。尝试使用最新版本的Xcode(4.4)和更新的最新开发人员预览版。 这是一个错误 ..
发布时间:2020-06-06 19:48:02 其他开发

事实发生后自动重构相关代码

是否有一种方法可以记录或描述Java重构,使其可以自动应用于依赖的代码库? 我的公司与两个独立的公司合作Java代码库,平台和取决于平台的插件。 (实际上,针对不同客户的多个附加组件。)平台和附加组件是由工作于不同发布周期的不同团队开发的:在平台发布后的某个时间更新了附加组件。应用于平台的重构不会自动应用于附加组件,因为平台团队甚至不会查看附加组件代码。附加组件团队以只读模式使用以前发布的平 ..
发布时间:2020-06-06 19:47:59 Java开发

更改对不推荐使用的方法的引用C ++

我的代码库中有一些不推荐使用的方法,并且我知道该如何替换它们,有什么方法可以自动执行此操作吗?我正在使用Visual Studio 2015 Update 3,但可以使用其他文本编辑器... 代码看起来像这样: //不推荐使用的方法 myFunction(char * firstParam,char * secondParam = NULL); //新方法,相同名称,不同参 ..

是否存在用于在Java项目上优化导入的命令行工具?

我正在寻找一种工具,该工具可以根据代码自动优化导入过程。该工具在大多数IDE(例如IntelliJ)中都可用,它可以删除未使用的导入并将任何。*导入扩展为代码专门使用的那些导入。 我想要将其添加为MVN目标或Ant Task,或者将其添加为我的提交/推送操作之前的内容。 也许有一种方法可以在命令行上运行IntelliJ专门执行此功能,但我没有找到这样的命令。 解决方案 如果您正 ..
发布时间:2020-06-06 19:47:52 Java开发

为什么eclipse-python没有魔术重构?

Eclipse能够利用编译后的字节码来启用“魔术重构”功能-重命名方法,向上和向下跟踪类层次结构以及通过方法调用进行跟踪。 什么是否存在技术上的障碍,这使得像Python和Javascript这样的语言更难做到? 解决方案 ,因此证明了对静态信息的跟踪类似的方法和类层次结构完全可以在python中实现。 PyDev eclipse插件可以做到这一点。 PyLint插件通过假设运行时没 ..

Visual Studio:当其他更改时,是否自动更新C ++ cpp / header文件?

例如,如果我在标头或cpp中的函数中更改了签名,我希望它在另一个中自动更改。如果我在任何一个中添加了新功能,它都应同时出现在两者中。如果删除一个函数,它可能会注释掉另一个函数。 手动重复所做的更改似乎很愚蠢。 有人提到 http://www.lazycplusplus.com/ 来回答类似的问题,但这似乎是一个命令行工具,需要先保存然后在特定文件上运行此外部工具。这比我原本认为必要的手动步 ..

C ++重构-将方法移至实现文件

我内部有很多带有长方法实现的头文件。 有没有一种自动的方法? 一对一可能会花费很多时间... 谢谢。 解决方案 如果您使用的是Visual Studio,则有一个名为 Visual Assist的加载项。 可以帮助您做到这一点。 不幸的是,此加载项不是免费的,但是您可以安装试用版来做您的工作并对其进行测试。 ..
发布时间:2020-06-06 19:47:40 C/C++开发

Scala是否有工具从所有代码文件中清除所有未使用的导入?

我相信我的源代码文件具有许多未在代码中使用的导入功能(因为我有将它们从现有文件复制到新文件的习惯)。在Visual Studio中编码C#时(或者它的附加功能),只需单击即可擦除所有未使用的导入。是否有用于Scala的类似工具?如果我可以将其指向我的sources目录,它将清除其中的所有文件及其所有子目录和子目录(等),那将很酷。 解决方案 IntelliJ可以自动清理整个目录,而不仅仅是 ..
发布时间:2020-06-06 19:47:38 其他开发

R语言意识的代码重新格式化/重构工具?

最近,我发现自己正在使用遍及整个地图的R代码,其编码风格-多位作者和个别作者并不严格遵循单一的结构。我希望某些任务比目前要自动化的更好。 我正在寻找一种可以管理以下任务的工具(已列出)以欲望的增加顺序,但也以对生存的怀疑顺序增加。 基本格式。诸如将“ if(foo)”转换为“ if(foo)”并在支撑位置和诸如此类的事情上实现统一。 转换“ foo $ blah“到” foo [ ..
发布时间:2020-06-06 19:47:34 其他开发

自动重新生成设计器文件

最近,我对我们使用的许多控件进行了一些改进,例如为属性设置默认值,并将按钮设置为私有而不是受保护。 通过进行这种调整,您需要重新生成具有此控件或从控件继承的控件的表单的设计器文件。 在过去这并不是一个真正的问题,因为我们只有20到30个表格。目前,我们有300多种表单,这意味着在VS2010中打开相同数量的设计师。 所以我的问题是:您知道一种自动化的方法吗? 我一直在考虑寻找设 ..

自动重构以将参数名称添加到方法调用

我正在进行大量重构。 我有数十种方法,通过位置参数进行调用。现在,我想通过命名参数调用它们。这些方法存在于多个非继承类中,并且名称相同且签名不同。示例: 定义 public class Foo { public static Foo Create(int count,string name) { ... } } 公共类Bar { public stat ..
发布时间:2020-06-06 19:47:27 C#/.NET

自动将.h拆分(重构)为标头和实现(h + cpp)

在编写C ++代码时,我通常首先在头文件中编写完整的“实现”代码,然后再将实现重构为.cpp文件。 这很好,但是我发现此过程很麻烦,但其他方面却很容易,所以我想知道是否有任何自动化的方法可以做到这一点? 具体来说,我想将 .h 中的所有类和函数定义转换为声明,并在新的 .cpp 文件。 我正在使用xcode,但是我可以接受任何解决方案。 解决方案 在 Lazy C ++ ..
发布时间:2020-06-06 19:47:19 C/C++开发