2009-04-15 50 views
3

有没有可以做两种方法比较的工具?我正在研究一些遗留代码,它有几个包含大量重复的100-200行方法,我想抽象出重复。能够区分这两种方法将是一个巨大的帮助。万一它很重要,我正在使用.NET和Visual Studio 2008.比较两种方法的文本

回答

1

不知道这是否适合你,但是(不出所料)emacs可以为两个文件中的区域进行逐行或逐字比较。

查看emacs ediff如果感兴趣(它也做文件/缓冲区比较,文件对祖先,补丁,3文件比较和合并....非常全面)。我不认为我在任何其他编程编辑器中都看到过差异/合并系统。

0

我已经使用checkstyle,但它是为java。

1

我用WinMerge来解决这个问题。

我将这些方法复制到WinMerge中的新文档中,然后在那里工作,直到我将多余的部分剪掉。

1

我建议猿:http://www.harukizaemon.com/simian/

编辑以添加新的链接。

+0

链接已死亡。谷歌建议http://www.harukizaemon.com/simian/作为新的,但我不确定它是完全相同的工具。 – LJNielsenDk 2013-09-04 13:18:55

0

Visual Studio 2008 Team Edition将documaent比较放入其中。因此,根据您运行的版本,您可能需要右键单击解决方案资源管理器并选择“比较”。

0

Subversion GUI客户端Tortoise可以对两个文本文件(或本例中的代码文件)进行差异化,只需在不同的txt文件中复制这两个方法,选择它们,右键单击并从tool菜单中选择diff。

0

Sourcegear's Diffmerge是非常好的和免费的。您需要将您的代码剪切成不同的文件,以便将它们与侧面/侧面进行比较。你可以使用这个(和大多数类似的工具)一次比较三个文件。

0

您可以使用像Diffuse这样的工具。只需将文件拖放到任一窗格上,从一种方法中选择一行,右键单击其他窗格中相应行的内容,然后选择“与选择对齐”。您甚至可以双击,然后直接在Diffuse中重新分解代码。

2

我结合使用WinMergeClipboardDiff。然后,您可以在剪贴板内容和突出显示的内容之间进行比较,而无需保存任何文件。