Сравните текст двух методов - PullRequest
3 голосов
/ 15 апреля 2009

Есть ли инструмент, который может сделать разность двух методов? Я работаю над некоторым унаследованным кодом, который имеет несколько 100-200 строковых методов, которые содержат много дублирования, и я хотел бы абстрагировать дублирование. Способность различать два метода была бы огромной помощью. Если это имеет значение, я работаю с .NET и Visual Studio 2008.

Ответы [ 10 ]

2 голосов
/ 17 апреля 2014

Я использую WinMerge в сочетании с ClipboardDiff . Затем вы можете выполнить сравнение содержимого буфера обмена и выделенного содержимого без необходимости сохранять какие-либо файлы.

1 голос
/ 15 апреля 2009

Я бы порекомендовал Simian: http://www.harukizaemon.com/simian/

Отредактировано для добавления новой ссылки.

1 голос
/ 15 апреля 2009

Не знаю, практично ли это для вас, но (неудивительно), что emacs может сделать это для регионов в двух файлах как для построчного, так и для пословного сравнения.

посмотрите emacs ediff, если интересно (он также сравнивает файлы и буферы, сравнивает файлы с предками, исправляет, сравнивает и объединяет 3 файла ... довольно много). Я не думаю, что видел систему сравнения / слияния в каком-либо другом программном редакторе столь же хорошо.

1 голос
/ 15 апреля 2009

Я использовал WinMerge для решения этой проблемы.

Я копирую методы в новые документы в WinMerge, а затем работаю над этим, пока не вырежу лишние кусочки.

0 голосов
/ 07 сентября 2012

Вот веб-инструмент, который делает хорошее сравнение. Просто использовал его, чтобы сравнить пару похожих методов, которые были реорганизованы вместе.

http://www.text -compare.com /

0 голосов
/ 17 апреля 2009

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

0 голосов
/ 15 апреля 2009

Diffmerge Sourcegear очень приятный и бесплатный. Вам нужно будет разрезать ваш код на разные файлы, чтобы их можно было сравнивать по сторонам. Вы можете использовать эту (и большинство подобных утилит) для сравнения трех файлов одновременно.

0 голосов
/ 15 апреля 2009

Клиент графического интерфейса Subversion Черепаха может создавать различия из двух текстовых файлов (или файлов кода в данном случае), просто скопировать оба метода в другой текстовый файл, выбрать их, щелкнуть правой кнопкой мыши и из черепахи в меню выберите diff.

0 голосов
/ 15 апреля 2009

В Visual Studio 2008 Team Edition включено документальное сравнение. Поэтому в зависимости от используемой версии вам может потребоваться щелкнуть правой кнопкой мыши на обозревателе решений и выбрать «Сравнить».

0 голосов
/ 15 апреля 2009

Я использовал для этого checkstyle, но это было для Java.

...