умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 09:21
Оценка:
Чего мне часто не хватало (особенно когда нужно было искать источник какого-нибудь старого изменения в системе контроля версий, или объединять бранчи) — это умной утилиты для сравнения файлов, которая могла бы
1. фильтровать несущественные изменения (например, изменения в форматировании кода, или переставленные по порядку методы в классе, или переставленные атрибуты в XML файлах)
2. определять и показывать простые виды рефакторинга (например, переименование метода или переменной)
Существующие утилиты (даже лучшие, как Araxis) обычно показывают слишком много несущественных изменений, и откопать среди них нужное непросто. В общем, найти ничего подходящего мне так и не удалось, и возникло решение разработать такую программу самому. Закавыка здесь конечно в том, что программа должна опознавать и парсить большое количество разных входных форматов (языки программирования и разметки, CSV и так далее), и знать, какие изменения в них важны, а какие нет.
Насколько много людей, которые стали бы покупать такую прогу? (или это только мне одному все время хочется странного? )
Поддержка каких языков нужна в первую очередь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: умный diff - есть спрос?
От: 8bit  
Дата: 02.11.06 10:06
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Существующие утилиты (даже лучшие, как Araxis) обычно показывают слишком много несущественных изменений, и откопать среди них нужное непросто. В общем, найти ничего подходящего мне так и не удалось, и возникло решение разработать такую программу самому. Закавыка здесь конечно в том, что программа должна опознавать и парсить большое количество разных входных форматов (языки программирования и разметки, CSV и так далее)


Все таки сначала получше приглядитесь к арахису.


AF>, и знать, какие изменения в них важны, а какие нет.


Вот это самое интересное
В коде все важно, даже один символ. Ну а если например
не интересны изменения в комментах, так в арахисе их можно отфильтровать при помощи
регулярных выражений.
Re[2]: умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 10:58
Оценка:
Здравствуйте, 8bit, Вы писали:

8>В коде все важно, даже один символ.


Далеко не всегда. Например,

if (x>y) {
}


и

if (x > y)
{
}


Когда копаешься в истории, именно такие мелкие изменения больше всего портят кровь. Можно конечно прикрутить к арахису еще и претти-принтер, но это всё — слишком много гемора. Намного лучше, если бы утилита сама умела фильтровать такие вещи.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: умный diff - есть спрос?
От: 8bit  
Дата: 02.11.06 11:49
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Здравствуйте, 8bit, Вы писали:


8>>В коде все важно, даже один символ.


AF>Далеко не всегда. Например,


AF>
AF>if (x>y) {
AF>}
AF>


AF>и


AF>
AF>if (x > y)
AF>{
AF>}
AF>


AF>Когда копаешься в истории, именно такие мелкие изменения больше всего портят кровь. Можно конечно прикрутить к арахису еще и претти-принтер, но это всё — слишком много гемора. Намного лучше, если бы утилита сама умела фильтровать такие вещи.


Легко ! ставишь галку в опциях Ignore all diference in white space.

Можно отключить разницу между заглавными и маленькими буквами

Можно отключить детализацию, что бы не было пестро, а только целиком строка тебе светиласть,
да еще и цвета можно выставить разные для строк которые были изменены, удалены, не изменены, добавленны.

В арахисе я думаю есть все, разве что уж совсем бредовых идей которые очень экзотичны.
Re[3]: умный diff - есть спрос?
От: 8bit  
Дата: 02.11.06 11:56
Оценка: +1
Здравствуйте, AndreiF, Вы писали:


AF>Далеко не всегда. Например,


И еще по поводу этого примера.
Во многих проектах прописан стандарт, как программист должен писать код.
И там вполне может быть прописано что пробелы между "x > y" должны быть.
Так что полезено видеть и такие мелочи.
Re[3]: умный diff - есть спрос?
От: Relayer http://www.strongbit.com
Дата: 02.11.06 12:10
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Когда копаешься в истории, именно такие мелкие изменения больше всего портят кровь. Можно конечно прикрутить к арахису еще и претти-принтер, но это всё — слишком много гемора. Намного лучше, если бы утилита сама умела фильтровать такие вещи.


сделать такой дифер можно. я например сделал еще 7 лет назад специализированный дифер для дельфовских сырков (PasDiff Pro). но вначале все уперлось в то что а) нет формальной граматики для дельфи-паскаля б) граматика не сводится к LR(1). пришлось для начала переделать маленько CoCo/R для разбора с возвратами. после этого конечно все сравнительно легко написалось но без граматическго разбора никак. ибо если просто поменяли местами порядок реализации функций — с точки зрения компилятора — порядок не важен. с точки зрения любого текстового дифера — полный кошмар

сказать что это успешный проект я не могу. он конечно себя окупил и продается до сих пор без всякой рекламы и тп с нашей стороны. но это не предмет для суперприбылей. возможно если написать нечто аналогичное для C/C++, VB и C# — может быть оно и пойдет в массы.
Re[3]: умный diff - есть спрос?
От: Young yunoshev.ru
Дата: 02.11.06 12:18
Оценка:
Здравствуйте, AndreiF, Вы писали:



AF>Когда копаешься в истории, именно такие мелкие изменения больше всего портят кровь. Можно конечно прикрутить к арахису еще и претти-принтер, но это всё — слишком много гемора. Намного лучше, если бы утилита сама умела фильтровать такие вещи.


"Beyond Compare 2"?

Я пользуюсь программой выше......не частно но в среднем один-два раза в месяц пользуюсь активно.

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

Если сделать все что она умеет плюс добавить более интелектуальное распозование некоторых специфических вещей (перестановка методов, перенос описания переменной из середины класса в начала (в яве например) и т.п.) и главное придумать нормальный визуальный трекинг таких вещей, то я бы купил новую программу. НО только при цене порядка доллларов 30.....ибо все же пользуюсь не часто, да и BC меня удолетворяет на 80%.
Re[4]: умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 12:34
Оценка:
Здравствуйте, 8bit, Вы писали:

8>Легко ! ставишь галку в опциях Ignore all diference in white space.


перенос строки в арахисе не считается за white space, насколько я помню
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 12:34
Оценка:
Здравствуйте, 8bit, Вы писали:

8>Во многих проектах прописан стандарт, как программист должен писать код.

8>И там вполне может быть прописано что пробелы между "x > y" должны быть.
8>Так что полезено видеть и такие мелочи.

Полезно иметь возможность выбирать — видеть такие мелочи или нет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 12:34
Оценка:
Здравствуйте, Relayer, Вы писали:

А где можно на него посмотреть? Сколько примерно времени ушло на разработку?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: умный diff - есть спрос?
От: FreshMeat Россия http://www.rsdn.org
Дата: 02.11.06 12:35
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Насколько много людей, которые стали бы покупать такую прогу? (или это только мне одному все время хочется странного? )

AF>Поддержка каких языков нужна в первую очередь?
имхо java, c++, c#, xml...
У тебя стада потенциальных клиентов на расстоянии одного форума ходят , попробуй спросить у них http://gzip.rsdn.ru/forum/?group=tools. У них же можно спросить, чего не хватает в существующих тулах (или наоборот, услышать, что ничего нового там придумать нельзя)
Хорошо там, где мы есть! :)
Re[5]: умный diff - есть спрос?
От: Relayer http://www.strongbit.com
Дата: 02.11.06 12:43
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>А где можно на него посмотреть?


http://www.softcomplete.com/products/pasdiff/pasdiff.asp

AF>Сколько примерно времени ушло на разработку?


пару месяцев. как я уже сказал — основная возня была с построением дельфовой граматики и написанием парсера для нее. остальное — фигня
Re[6]: умный diff - есть спрос?
От: AndreiF  
Дата: 02.11.06 12:47
Оценка:
Здравствуйте, Relayer, Вы писали:

R>пару месяцев. как я уже сказал — основная возня была с построением дельфовой граматики и написанием парсера для нее. остальное — фигня


У меня уже есть кое-какие наработки для генерации парсеров, надо только довести генератор до ума. В принципе, я примерно так и оценивал.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: умный diff - есть спрос?
От: grigsoft Беларусь http://www.grigsoft.ru/
Дата: 02.11.06 17:30
Оценка:
Можешь подумать в направлении библиотеки, которую могли бы использовать существующие сравнивалки. Я бы такую купил, к своей прикрутить.
Re[2]: умный diff - есть спрос?
От: AndreiF  
Дата: 03.11.06 06:34
Оценка:
Здравствуйте, grigsoft, Вы писали:

G>Можешь подумать в направлении библиотеки, которую могли бы использовать существующие сравнивалки. Я бы такую купил, к своей прикрутить.


за сколько купил бы?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: умный diff - есть спрос?
От: grigsoft Беларусь http://www.grigsoft.ru/
Дата: 03.11.06 07:29
Оценка:
А вот с этим лучше в приват обратись ко мне.
Re[4]: умный diff - есть спрос?
От: AndreiF  
Дата: 03.11.06 07:48
Оценка:
Здравствуйте, grigsoft, Вы писали:

Боюсь, на самом деле это не имеет для меня смысла. Такая библиотека — это фактически и есть готовая утилита для сравнения, осталось только прикрутить гуй и продавать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: умный diff - есть спрос?
От: PPA Россия http://flylinkdc.blogspot.com/
Дата: 03.11.06 08:26
Оценка: +1
Здравствуйте, AndreiF, Вы писали:

У арксиса есть исключения наа базе регулярных выражений.
имхо этого достаточно.
Re[2]: умный diff - есть спрос?
От: Relayer http://www.strongbit.com
Дата: 03.11.06 09:19
Оценка: 6 (2) +1
Здравствуйте, PPA, Вы писали:

PPA>У арксиса есть исключения наа базе регулярных выражений.

PPA>имхо этого достаточно.

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

и в догонку — регулярными выражениями можно вырезать коментарии. но вот ситуацию когда изменили порядок слеования двух процедур к примеру ты не обработаешь никак.
Re[3]: умный diff - есть спрос?
От: 8bit  
Дата: 03.11.06 09:36
Оценка: -2
Здравствуйте, Relayer, Вы писали:

R>Здравствуйте, PPA, Вы писали:


PPA>>У арксиса есть исключения наа базе регулярных выражений.

PPA>>имхо этого достаточно.

R>вы с нормальным дифером не работали. наш например PasDiff сразу говорит что поменялось в интерфейсной части и в реализации. причем мне не надо парить голову — я вижу детальный отчет типа: добавилось поле в классе, изменилась декларация метода, изменилась имплементация и тп тд. клик мышью — я позиционируюсь на код и вижу его до и после изменений.


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