Diff инструмент, который может сравнивать подразделы файлов - PullRequest
13 голосов
/ 26 ноября 2009

Я ищу инструмент сравнения, который позволит мне сравнивать только часть файла с частью другого файла или даже самого себя. Предпочтительно на основе затмения, но приму все предложения.

Да, я знаю, что могу скопировать два раздела в разные файлы и сравнить их, но это очень утомительно, когда вы пытаетесь выполнить большое количество рефакторинга.

По сути, я пытаюсь удалить как можно больше дублированного кода из кодовой базы, которая страдает от большого количества ctrl-V «наследования» ;-) Однако, со временем вставленные части немного разошлись.

Ответы [ 5 ]

4 голосов
/ 09 июня 2010

Я играл с Atomiq , который находит дубликаты в одном файле. Пока это выглядит достойным инструментом.

3 голосов
/ 28 ноября 2009

Попробуйте использовать Diffuse . Просто вставьте два подраздела, которые вы хотите сравнить, в отдельные панели и нажмите CTRL-L, чтобы выровнять их. Вы также можете загрузить файлы и вручную настроить выравнивание в соответствии с интересующими подразделами.

2 голосов
/ 01 декабря 2009

Для удаления дублирующегося кода я использовал два инструмента: Simian и CopyPasteKiller . Оба полезны, хотя с IMO CopyPasteKiller немного легче начать. Похоже, есть Eclipse-плагин для Simian, хотя я сам не использовал его.

1 голос
/ 26 ноября 2009

CheckStyle прекрасно интегрируется с Eclipse и будет выполнять эту работу. Он будет уведомлять вас и сообщать об ошибке / предупреждении, если ваш код будет продублирован, сколько раз ... и т.д ...

http://eclipse -cs.sourceforge.net /

Kdiff3 будет другим выбором. Не интегрированный Eclipse, но очень хороший бесплатный, кроссплатформенный инструмент для объединения, сравнения файлов и т. Д.

0 голосов
/ 27 ноября 2009

См. SD CloneDR , инструмент, который обнаруживает точные и почти пропущенные клоны в соответствии с синтаксисом языка, для большого количества языков (Java, C #, PHP, C ++, C, COBOL, Ada,. ..). В настоящее время Eclipse API готовится и, вероятно, будет доступен 1 ​​января 2010 года.

...