是否有任何程序可以找到基方法中的重复代码和继承类中的重写方法?
我有一个包含大约 30 个虚拟方法的 20 个类的基类(我没有编写此代码)。我发现一种方法在所有覆盖中具有几乎相同的代码。我认为同样的情况也发生在其他方法中。
如何找到重复的代码块以便重构它?
是否有任何程序可以找到基方法中的重复代码和继承类中的重写方法?
我有一个包含大约 30 个虚拟方法的 20 个类的基类(我没有编写此代码)。我发现一种方法在所有覆盖中具有几乎相同的代码。我认为同样的情况也发生在其他方法中。
如何找到重复的代码块以便重构它?
在 Visual Studio 编辑器中选择代码。右键单击-> 选择Find matching clones in solution。给它一些时间来处理。它会告诉您解决方案中的相同代码。
使用代码克隆检测查找重复代码。如评论中所述,此功能仅在 Visual Studio 的 Ultimate 和 Premium 版本中可用。
Resharper 也有类似的东西。选择代码,右键单击-> 选择查找相似代码菜单。
也许看看 Resharper DupFinder?这是他们命令行工具的一部分。
http://blog.jetbrains.com/dotnet/2013/09/03/duplicate-finder-part-of-resharper-command-line-tools/