将重复的代码重构为方法

时间:2009-12-18 20:36:31

标签: c# resharper

我正在使用Resharper进行重构。当您在大约5个不同的事件中调用相同的代码但是您想要用方法调用替换它们时,调用此类型的功能是什么?并将该代码放在该方法中。

全部自动完成。

由于

3 个答案:

答案 0 :(得分:14)

我一直在研究一个Resharper插件,可以满足您的要求。也就是说,它扫描您的代码,搜索可以被现有方法调用替换的部分。一个部分可以是整个方法,也可以只是方法的一部分。当找到一个时,灯泡弹出并提供用现有方法调用替换所述部分。

alt text
(来源:landofjosh.com

我称之为AgentRalph。此时它还没有为生产使用做好准备,但我已经取得了很大进展,并希望尽快发布。

答案 1 :(得分:4)

答案 2 :(得分:1)

请参阅我们的C# CloneDR。虽然它不会用函数调用替换冗余代码,但它会告诉您它们在非常大的系统中的位置,并形成必要的抽象(过程体和参数)。 Web链接具有C#等效的Hibernate(NHibernate)的示例克隆分析。