Есть ли инструмент, который может выполнять разные методы? Я работаю над некоторым унаследованным кодом, который имеет несколько методов линии 100-200, которые содержат много дубликатов, и я хотел бы абстрагировать дублирование. Возможность различать два метода будет огромной помощью. В случае, если это имеет значение, я работаю с .NET и Visual Studio 2008.Сравните текст двух методов
ответ
Не знаете, подходит ли это для вас, но (неудивительно) emacs может сделать это для регионов в двух файлах как по очереди, так и по слову.
искать emacs ediff если это интересно (он также сравнивает файл/буфер, файл с предками, патчи, 3 файла сравнивает и сглаживает .... довольно всеобъемлющий). Я не думаю, что я видел систему diff/merge в любом другом редакторе программ.
Для этого я использовал checkstyle, но это было для java.
Я использовал WinMerge для решения этой проблемы.
Я копирую методы в новые документы в WinMerge, а затем работаю над ним там, пока у меня не будет вырезанных дополнительных фрагментов.
Я бы рекомендовал обезьяний: http://www.harukizaemon.com/simian/
Edited добавить новую ссылку.
В Visual Studio 2008 Team Edition сравнивается сравнение documaent. Поэтому в зависимости от того, какую версию вы используете, вам просто нужно щелкнуть правой кнопкой мыши по исследователю решения и выбрать «Сравнить».
Клиент-подставщик subversion Tortoise может создавать разные текстовые файлы (или файлы кода в этом случае), просто скопируйте оба метода в другом txt-файле, выберите их, щелкните правой кнопкой мыши и в меню черепахи выберите diff.
Sourcegear's Diffmerge очень красиво и бесплатно. Вам нужно будет вырезать код в разные файлы, чтобы их можно было сравнить с боком/стороной. Вы можете использовать эту (и большинство подобных утилит) для сравнения трех файлов одновременно.
Вы можете использовать такой инструмент, как Diffuse. Просто перетащите файлы на одну из них, выберите строку из одного метода, щелкните правой кнопкой мыши, что должно быть соответствующей строкой в другой панели, и выберите «Выровнять по выбору». Вы можете даже дважды щелкнуть, а затем начать перефакторинг кода непосредственно в Diffuse.
Вот веб-инструмент, который хорошо сравнивает. Просто использовал его, чтобы сравнить пару аналогичных методов, которые реорганизуются вместе.
Я использую WinMerge в сочетании с ClipboardDiff. Затем вы можете выполнить сравнение содержимого буфера обмена и выделенного содержимого, без необходимости сохранять файлы.
- 1. Сравните содержимое двух страниц
- 2. Сравните более двух строк
- 3. Сравните упорядочение двух списков
- 4. Сравните дни двух дат
- 5. Сравните свойства двух PsCustomObjects
- 6. Сравните текст многих строк
- 7. PHP: Сравните начало двух строк
- 8. Сравните нагрузку/производительность двух функций
- 9. Сравните данные из двух таблиц
- 10. Сравните положение двух элементов (смещение)
- 11. Сравните содержимое двух серверов LDAP
- 12. Сравните знак двух двухместных номеров
- 13. Сравните сложность двух заданных алгоритмов
- 14. Сравните значения двух таблиц mysql
- 15. Сравните содержимое двух ArrayLists эффективно
- 16. Сравните результаты двух запросов Laravel
- 17. Сравните размер двух последних файлов
- 18. Сравните содержание двух разных файлов
- 19. Сравните продолжительность выполнения двух функций
- 20. Сравните равенство двух объектов курсора
- 21. Сравните содержимое двух файлов любого типа файлов
- 22. Сравните текст файла с argvc
- 23. Сложность двух методов
- 24. Объединение двух методов вместе
- 25. Рефакторинг: объединение двух методов
- 26. Выполнение двух методов параллельно
- 27. Консолидация двух методов «OnActivityResult»
- 28. Слияние двух методов
- 29. Критерии для вызова двух методов перегруженных методов?
- 30. Сравните текст, возвращенный с PHP на JavaScript
Ссылка мертва. Google предлагает http://www.harukizaemon.com/simian/ как новый, но я не уверен, что это тот же самый инструмент. – LJNielsenDk
Да, спасибо. Я уточню свой ответ. –