Поймать опечатку в конфиге
API_TIMEOUT=3000API_TIMEOUT=30000Один лишний ноль превращает 3-секундный таймаут в 30-секундный. Diff checker ловит такое за пару секунд — глазами в двух .env-файлах это легко проморгать.
Сравните два фрагмента текста или кода по строкам и словам.
Последнее обновление
function greet(name) {+function greet(name) { console.log("Hello, " + name);+ console.log(`Hello, ${name}!`);return name;+
return name.toUpperCase();
}+
}
greet("world");+greet("World");Diff checker сравнивает два фрагмента текста или кода и подсвечивает, что было добавлено, удалено или изменено. Разработчики пользуются диффами постоянно: при ревью кода, отладке правок в конфиге, сравнении ответов API, проверке миграций и просто чтобы перед коммитом понять, что именно ты наменял.
Умение читать дифф — базовый скилл разработчика. Именно он помогает отличить *реальное изменение поведения* от безобидного переформатирования и найти один-единственный изменённый символ в блоке на 200 строк. Когда зелёно-красно-жёлтый ритм входит в привычку, ревью кода идёт заметно быстрее.
На практике важны два режима: *построчный дифф* (какие строки изменились) и *пословный* или *посимвольный* (что именно поменялось внутри строки). Хороший инструмент даёт переключаться между ними — в зависимости от того, сравниваете вы исходный код или абзацы текста.
Слева — оригинал, справа — новая версия. Подходит всё: код, JSON, обычный текст, конфиги.
Построчный дифф удобен для исходного кода и структурированных данных. Пословный включайте, когда сравниваете абзацы текста и важны именно формулировки.
Включите *игнорировать пробелы*, если важны только осмысленные изменения; *игнорировать регистр* пригодится при сравнении логов или текстов, где регистр случайный.
Удалённое подсвечивается красным слева, добавленное — зелёным справа. Изменённые строки часто отображаются парой: одна слева, одна справа.
Меняйте любую сторону — дифф пересчитывается на лету. Удобно довести правки до чистого вида перед тем, как открыть pull request.
Соглашения, которые использует Coddy, — те же, что и в git diff, на GitHub и в большинстве других просмотрщиков диффов.
| Маркер | Что означает | Где встречается |
|---|---|---|
Красный / - | Строка удалена из оригинала | Левая панель |
Зелёный / + | Строка добавлена в новой версии | Правая панель |
| Жёлтый / обе стороны | Строка изменена — частичная правка внутри строки | Обе панели |
| Без цвета | Без изменений — строка общая для обеих версий | Обе панели |
@@ ... @@ | Заголовок hunk-а из git diff — номера строк | Вывод git diff в терминале |
| Word diff | Изменение на уровне слова или символа внутри строки | Подсветка внутри жёлтой строки |
API_TIMEOUT=3000API_TIMEOUT=30000Один лишний ноль превращает 3-секундный таймаут в 30-секундный. Diff checker ловит такое за пару секунд — глазами в двух .env-файлах это легко проморгать.
Пользователь может залогиниться.
Пользователь может войти в систему.
Пословный дифф подсветит конкретную замену залогиниться → войти в систему. Построчный показал бы всю строку как изменённую, а пословный сразу выделяет именно правку.
{ "id": 42, "status": "draft", "published": false}{ "id": 42, "status": "published", "published": true}Дифф сразу показывает, что два связанных поля изменились вместе. Это самый быстрый способ убедиться, что вызов API, меняющий состояние, действительно сделал то, что должен был.
git diff, страница pull request на GitHub, панель сравнения в IDE — это всё одна и та же идея.