Сравнить две версии документа, конфигурационного файла или фрагмента кода вручную — долго и ненадёжно: мелкую правку в длинном тексте легко пропустить, особенно если менялось несколько строк в разных местах.
Как работает сравнение
Инструмент сравнения текста находит отличия между двумя версиями построчно. Вставьте оригинал в одно поле и изменённый текст — в другое: сравнение подсветит добавленные строки зелёным, а удалённые — красным, а счётчик покажет, сколько строк прибавилось и сколько убавилось.
Сравнение построчное — то есть каждая строка целиком считается либо добавленной, либо удалённой, либо неизменной. Алгоритм в основе — классический LCS (longest common subsequence, наибольшая общая подпоследовательность), тот же принцип, что используют системы контроля версий вроде Git при показе diff.
Для чего это нужно
- Проверить правки в документе или договоре — быстро увидеть, что именно изменилось между двумя версиями текста, без построчного сравнения глазами.
- Сравнить две версии конфигурации или кода — найти конкретные строки, которые отличаются, до того как разбираться, почему поведение системы изменилось.
- Найти разницу между копиями файла — например, если один и тот же файл редактировали в двух местах и нужно понять, какая версия актуальнее.
- Проверить результат автоматической обработки текста — сравнить текст до и после скрипта или найти-и-заменить, чтобы убедиться, что изменилось именно то, что нужно.
Ограничения
Сравнение построчное, а не посимвольное: если в длинной строке изменилось одно слово, вся строка будет показана как удалённая и добавленная заново, а не как частичное изменение внутри строки. Для очень больших текстов — десятки тысяч строк — сравнение может выполняться чуть медленнее, но это нормальное поведение для расчёта в браузере, а не ошибка.
Итог
Построчное сравнение текста избавляет от необходимости искать отличия вручную — достаточно вставить обе версии, и различия подсвечиваются сразу, с счётчиком добавленных и удалённых строк.