2009-04-15 6 views
3

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

ответ

1

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

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

0

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

1

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

Я копирую методы в новые документы в WinMerge, а затем работаю над ним там, пока у меня не будет вырезанных дополнительных фрагментов.

1

Я бы рекомендовал обезьяний: http://www.harukizaemon.com/simian/

Edited добавить новую ссылку.

+0

Ссылка мертва. Google предлагает http://www.harukizaemon.com/simian/ как новый, но я не уверен, что это тот же самый инструмент. – LJNielsenDk

+1

Да, спасибо. Я уточню свой ответ. –

0

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

0

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

0

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

0

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

0

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

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

2

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

Смежные вопросы