我正在使用Resharper进行重构。当您在约5个不同的事件中有相同的代码被调用,但您想要用方法调用替换它们并将该代码放置在该方法中时,这种类型的功能叫什么?并自动完成所有操作。谢谢。
我一直在开发一个Resharper插件,可以做到你所需要的功能。也就是说,它会扫描你的代码,寻找可由现有方法调用替换的部分。这些部分可以是整个方法或仅是方法的一部分。当它找到这样的部分时,灯泡会弹出并提供将该部分替换为对现有方法的调用的选项。
(来源:landofjosh.com)
我称它为AgentRalph。目前它还不适合生产使用,但我已经取得了很大进展,希望很快发布一个版本。
提取方法。
请查看我们的C# CloneDR。虽然它不能用函数调用替换冗余代码,但它可以告诉您在非常大的系统中它们的位置,并形成基本的抽象(过程体和参数)。该网站链接提供了C#版Hibernate(NHibernate)的示例克隆分析。