是否有可以对两种方法进行差异的工具?我正在研究一些遗留代码,这些代码有几个包含大量重复的100-200行方法,我想抽象出复制。能够区分这两种方法将是一个巨大的帮助。如果重要,我正在使用.NET和Visual Studio 2008。
答案 0 :(得分:2)
我将WinMerge与ClipboardDiff结合使用。然后,您可以在剪贴板内容和突出显示的内容之间进行比较,而无需保存任何文件。
答案 1 :(得分:1)
我使用WinMerge来解决这个问题。
我将这些方法复制到WinMerge中的新文档中,然后在那里进行处理,直到我删除了额外的部分。
答案 2 :(得分:1)
我推荐Simian:http://www.harukizaemon.com/simian/
已编辑添加新链接。
答案 3 :(得分:1)
不知道这对您是否实用,但(不出所料)emacs可以对两个文件中的区域进行逐行或逐字比较。
如果感兴趣的话,查找emacs ediff(它还会进行文件/缓冲区比较,文件与祖先,补丁,3文件比较和合并......相当全面)。我认为我在任何其他编程编辑器中都没有看到过差异/合并系统。
答案 4 :(得分:0)
我已经使用了checkstyle,但它适用于java。
答案 5 :(得分:0)
Visual Studio 2008 Team Edition中包含了文档比较。因此,根据您运行的版本,您可能只需右键单击解决方案资源管理器并选择“比较”。
答案 6 :(得分:0)
subversion GUI客户端Tortoise可以制作两个文本文件(或本例中的代码文件)的差异,只需将两个方法复制到不同的txt文件中,选择它们,右键单击并从龟菜单中选择分差
答案 7 :(得分:0)
Sourcegear's Diffmerge非常好而且自由。您需要将代码剪切成不同的文件,以便进行侧面/侧面比较。您可以使用此(以及大多数类似的实用程序)一次比较三个文件。
答案 8 :(得分:0)
您可以使用Diffuse之类的工具。只需将文件拖放到任一窗格,从一个方法中选择一行,右键单击另一个窗格中相应的行,然后选择“对齐选择”。您甚至可以双击然后开始直接在Diffuse中重新分解代码。
答案 9 :(得分:0)
这是一个基于网络的工具,做了很好的比较。只是用它来比较一些正在重构的类似方法。