Jump to content

Сервис для сравнения текста


Riim
 Share

Recommended Posts

Как ни странно, но большинство современных IDE не умеют даже простейшего, а именно построчно сравнить два текста. Приходится либо искать какие-то плагины, либо держать на компе еще одну программу, в крайнем случае, можно в выводе консоли разбираться, что, на мой взгляд, верный способ сойти с ума. Решил реализовать этот функционал в виде online-сервиса. Может кому-то пригодится: http://realcode.ru/diff/

Делал как web 2.0 приложение. Прошу оценить (дизайн, верстка, юзабельность).

//—————-

И еще вопрос:

для легенды используется такая конструкция:

<dl id="legend">
<dt class="changed"></dt><dd>измененный текст</dd>
<dt class="deleted"></dt><dd>удаленный текст</dd>
<dt class="inserted"></dt><dd>добавленный текст</dd>
</dl>

насколько она здесь верна с точки зрения семантики, и как сделать правильней? Беспокоит то, что dt должен содержать термин, т. е. текст. Может туда пустые span-ы добавить?

Edited by Riim
Link to comment
Share on other sites

Отличная штука получилась! Нужная и вполне удобная.

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

Link to comment
Share on other sites

Если тупо вставить скопированный текст в обе колонки, но в одной из них что-нибудь добавить, то выделяет зеленым не то место где было что-то добавлено, а весь текст что в одной колонке, что в другой и растягивает весь текст по горизонтали в одну строку..., или этот сервис только для кода?

Link to comment
Share on other sites

Vitaly, Searcher, спасибо за отзывы.

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

Сейчас должно получше быть.

rus, можно этот текст? И какой у тебя браузер?

Edited by Riim
Link to comment
Share on other sites

Vitaly, Searcher, спасибо за отзывы.

Сейчас должно получше быть.

rus, можно этот текст? И какой у тебя браузер?

Я взял твой текст:

Как ни странно, но большинство современных IDE не умеют даже простейшего, а именно построчно сравнить два текста. Приходится либо искать какие-то плагины, либо держать на компе еще одну программу, в крайнем случае, можно в выводе консоли разбираться, что, на мой взгляд, верный способ сойти с ума. Решил реализовать этот функционал в виде online-сервиса. Может кому-то пригодится:

В любое место добавь любой набор букв.

Браузер: Firefox/3.5.3

Link to comment
Share on other sites

rus, если одну длинную строку добавить в textarea, то визуально добавятся переносы, но фактически их нет. Сравнение построчное (не посимвольное), и здесь получаются две разные строки, вот все и выделяется.

Edited by Riim
Link to comment
Share on other sites

А мне понравилась идея, только очень не понравилось походу то, что и Русу, а точнее когда допустим два одинаковых текста вставляешь, а в левом окне одну букву стираешь для эксперимента, жмёшь "Сравнить" и он выдаёт весь текст зелёным - это означает, что правый текст отличается от левого, только вот не понятно, в каком месте именно, так как выделяется весь текст. Нужно сделать так, что-бы выделялись именно места, которые имеют отличия! :D

Link to comment
Share on other sites

rus, а текст изначально одной строкой? Просто если одну длинную строку добавить в textarea, то визуально добавятся переносы, но фактически их нет. Сравнение построчное (не посимвольное), и здесь получаются две разные строки, вот все и выделяется.

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

Link to comment
Share on other sites

USE SVN LUKE

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

Link to comment
Share on other sites

поэтому было бы удобней, если бы были в коде переносы с учетом фиксированной ширины окна

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

Link to comment
Share on other sites

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

Да, это верно! Но тогда надо обозвать сервис соответственно, а именно:

сервис для сравнения и анализа изменений исходного кода (и текста?).

Насчет опции - все гуд, все работает +5 баллов!

З.Ы. смотрю на винграде тоже выложил? Только что-то там никто не оценил...

Edited by rus
Link to comment
Share on other sites

  • 9 months later...

Искал подобный скрипт в инете, наткнулся на ваш. Хорошая реализация, но не выполняет задачи поставленные мною.

Например у меня есть два текста

if(pwm[0].needupdate)
{
OC1CON = 0;
OC1RS = 128 - pwm[0].power;
OC1R = 128;
switch(pwm[0].power)
{
case 0:
TRISBbits.TRISB4 = 0;
LATBbits.LATB4 = 1;
iPPSOutput(OUT_PIN_PPS_RP4, OUT_FN_PPS_NULL);
break;

case 128:
TRISBbits.TRISB4 = 0;
LATBbits.LATB4 = 0;
iPPSOutput(OUT_PIN_PPS_RP4, OUT_FN_PPS_NULL);
break;
default:
TRISBbits.TRISB4 = 1;
iPPSOutput(OUT_PIN_PPS_RP4, OUT_FN_PPS_OC1);
OC1CON = 0b101;
}
pwm[0].needupdate = 0;
}

if(pwm[1].needupdate)
{
OC2CON = 0;
OC2RS = 128 - pwm[1].power;
OC2R = 128;
switch(pwm[1].power)
{
case 0:
TRISCbits.TRISC6 = 0;
LATCbits.LATC6 = 1;
iPPSOutput(OUT_PIN_PPS_RP22, OUT_FN_PPS_NULL);
break;

case 128:
TRISCbits.TRISC6 = 0;
LATCbits.LATC6 = 0;
iPPSOutput(OUT_PIN_PPS_RP22, OUT_FN_PPS_NULL);
break;
default:
TRISCbits.TRISC6 = 1;
iPPSOutput(OUT_PIN_PPS_RP22, OUT_FN_PPS_OC1); //PWM_U
OC2CON = 0b101;
}
pwm[1].needupdate = 0;
}

Если их вставить, то он выделит все строки в которых есть отличия, не могли бы вы добавить возможность поиска отличий в словах(с подсветкой отдельных символов)? Спасибо.

P.S. Во втором тексте есть одна ошибка, которую можно было бы найти с помощью вашего скрипта...

icq: 348[два]0[два]181

Link to comment
Share on other sites

  • 1 month later...

ой не.

Поделка топикстартера лучше. Ей понятно как пользоваться, и с ходу понятно, что это такое вообще.

А из этой понятно только то, что поработал сУПерпУпеРМегАдИЗаЙнЕР — настолько вырвиглазное сочетание цветов, да и вообще страшненько выглядит.

Не для работы — точно.

Link to comment
Share on other sites

А вообще вот: c2ed2aa2bbebt.jpg

Самый правильный интерфейс самой правильной службы для таких задач.

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

И ничего не надо копировать никуда. Заявленная топикстартером проблема в природе не существует. Что в редакторе Coda (в маке), что в редакторе Kate (в линуксе), что наверняка в каком-нибудь достойном редакторе под виндами — везде есть встроенный терминал. И там есть diff. Зачем что-то ещё?

Но даже если это что-то ещё и нужно, то топикстартер справился с задачей куда лучше. Этим сервисом хоть действительно можно пользоваться.

Link to comment
Share on other sites

Заявленная топикстартером проблема в природе не существует. Что в редакторе Coda (в маке), что в редакторе Kate (в линуксе), что наверняка в каком-нибудь достойном редакторе под виндами — везде есть встроенный терминал. И там есть diff. Зачем что-то ещё?

Ой заставить бы вас мерджить портянку кода в 3000 строк в консоли... вот тогда б вы по другому заговорили. Тут без визуального редактора типа того что предлагает ТС не обойтись.

Link to comment
Share on other sites

Ой заставить бы вас мерджить портянку кода в 3000 строк в консоли... вот тогда б вы по другому заговорили. Тут без визуального редактора типа того что предлагает ТС не обойтись.

Уволил бы за такие портянки...

Link to comment
Share on other sites

ой не.

Поделка топикстартера лучше. Ей понятно как пользоваться, и с ходу понятно, что это такое вообще.

А из этой понятно только то, что поработал сУПерпУпеРМегАдИЗаЙнЕР — настолько вырвиглазное сочетание цветов, да и вообще страшненько выглядит.

Не для работы — точно.

На вкус и цвет ... как говорится... мониторов одинаковых нет.

К стати от зеленого на черном фоне глаза вылезут побыстрее. И код приведенный на скриншете выглядит как призыв Торокана. Я верю что там все круто. Но не читаемо.

Тем не менее. Тут другие цвета, и другой интерфейс.

http://catlair.net/?&Body=body&pag...mp;UIDNews=1328

Edited by still swamp
Link to comment
Share on other sites

Уволил бы за такие портянки...

А зря вы так.... вот приходите в контору, а там кода 100 * 3000 строк. И ни одной строки комментария. И в десяти версиях от ваших предшественников за 10 лет. И их всех уже уволили. И все должно работать... :)

Edited by still swamp
Link to comment
Share on other sites

А зря вы так.... вот приходите в контору, а там кода 100 * 3000 строк. И ни одной строки комментария. И в десяти версиях от ваших предшественников за 10 лет. И их всех уже уволили. И все должно работать... :)

Все нормальные серверные скриптовые языки имеют функции динамического подключения файлов, имеют функции. Если вы сделали что-то одно на 3000 строк, то это срочно нужно порезать на запчасти, иначе затраты на разбор функционирования превзойдут временны затраты на дописывание функционала.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy