【发布时间】:2015-07-24 18:44:23
【问题描述】:
是否有任何程序可以找到基方法中的重复代码和继承类中的覆盖方法?
我有一个包含大约 30 个虚拟方法的 20 个类的基类(我没有编写此代码)。我发现一种方法在所有覆盖中具有几乎相同的代码。我认为同样的情况也发生在其他方法中。
如何找到重复的代码块以便重构它?
【问题讨论】:
标签: c# visual-studio code-cleanup duplicate-detection
是否有任何程序可以找到基方法中的重复代码和继承类中的覆盖方法?
我有一个包含大约 30 个虚拟方法的 20 个类的基类(我没有编写此代码)。我发现一种方法在所有覆盖中具有几乎相同的代码。我认为同样的情况也发生在其他方法中。
如何找到重复的代码块以便重构它?
【问题讨论】:
标签: c# visual-studio code-cleanup duplicate-detection
在 Visual Studio 编辑器中选择代码。右键单击-> 选择在解决方案中查找匹配的克隆。给它一些时间来处理。它会告诉您解决方案中的相同代码。
Finding Duplicate Code by using Code Clone Detection 。如 cmets 中所述,此功能仅在 Visual Studio 的 Ultimate 和 Premium 版本中可用。
Resharper 也有类似的东西。选择代码,右键->选择查找相似代码菜单。
【讨论】:
也许看看 Resharper DupFinder?这是他们命令行工具的一部分。
http://blog.jetbrains.com/dotnet/2013/09/03/duplicate-finder-part-of-resharper-command-line-tools/
【讨论】: