Инструмент Diff, который может сравнивать подразделы файлов.

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

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

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


person EvilPuppetMaster    schedule 25.11.2009    source источник
comment
+1 от меня - я всегда беру 3 или 4 строки что-то (код ошибки, какой-то xml, GUID и т. д.) и пытаюсь сравнить это с чем-то другим. Помещение их в 2 файла работает, но это боль.   -  person Justin    schedule 26.11.2009
comment
Спасибо за все предложения поисковиков обмана, я проверил их. Я нашел плагин, который использует simian в eclipse. Проблема не в том, чтобы найти обманщиков. Я уже знаю, где на самом деле находится большинство обманщиков. Это момент, когда вам нужно выяснить, как устранить дубликаты, в которых я сейчас нахожусь ... поэтому мне нужно напрямую различать разделы.   -  person EvilPuppetMaster    schedule 02.12.2009
comment
@EvilPuppetMaster: Да, ключ не в обнаружении, а в различении. Я задал аналогичный вопрос . Собираюсь исследовать Атомик.   -  person thoni56    schedule 20.07.2012


Ответы (5)


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

person Pedro    schedule 09.06.2010
comment
У Atomiq есть официальный сайт, на котором гораздо больше информации: getatomiq.com - person viggity; 10.06.2010

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

person Community    schedule 28.11.2009

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

person Eric Pohl    schedule 01.12.2009

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

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

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

person dasilvj    schedule 26.11.2009

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

person Ira Baxter    schedule 27.11.2009