Услуги
Сайты и магазиныЛендинги ★Создание сайтовИнтернет-магазины
ИИ и автоматизацияИИ-секретарь ★Автоворонка и прогрев ★Telegram-боты ★Автоматизация ★CRM-разработка
ПродвижениеSEO-продвижениеAI-продвижение ★Контекстная рекламаSMM и соцсети
Наружка, печать и производствоВывески и буквыНаружная рекламаБаннеры и штендерыТипографияВизиткиШирокоформатБрендированиеОклейка автоТорговое оборудованиеМатериалы для рекламы
Дизайн и поддержкаДизайнПоддержка
КомплексDigital под ключ ★
РешенияКейсыПортфолиоЦеныО студииБлогКонтакты Обсудить проект

Прибор врёт

Сначала множество, потом число

Ноль в графе «расхождения» относился к 174 файлам из 176 залитых: два не подошли под фильтр расширений и уехали без проверки. В тот же период скан насчитал 382 страницы с дефектом там, где их 182, а другая сверка выдала три расхождения, которых нет. Показываем, как читать чужое и своё число, чтобы такие отчёты не проходили.

Замер: 9 августа 2026разбор своих ошибок

Чем проверено: пересчёт арифметики отчётов сверки по числам партий, проверка происхождения находок в рабочем дереве, контрольные прогоны после починки инструментов

Короткий вывод. Сверщик выкладки отчитался: залито 176 файлов · сошлось 174 · расхождений 0. «Расхождений 0» читается как «всё сошлось», хотя два файла инструмент не открывал вовсе — их молча отсекал список расширений. Числа 176 и 174 в отчёте стояли рядом и не сравнивались ни человеком, ни машиной. Второй замер того же заезда: скан насчитал 382 страницы без формы заявки. Реально их было 182: половину дала чужая изолированная копия внутри репозитория, которую обход принял за обычный подкаталог. Прежде чем читать число, надо знать множество, на котором оно посчитано.

Три вопроса, которые дешевле самого замера

Любое число в отчёте — результат обхода какого-то множества файлов, строк или страниц. Ошибки, которые мы разбираем ниже, не про арифметику: она везде верна, — а про состав множества, который нигде не был напечатан.

  1. Что выпало из знаменателя. Фильтр по расширению, маска, лимит выдачи — любой из них сужает охват без единой строки в отчёте.
  2. Что залезло лишнего. Копия, снимок, бэкап, каталог зависимостей — обход заходит туда, потому что это обычные подкаталоги.
  3. Что именно сравнивалось. «Сверено» иногда означает «сравнили не с тем объектом», и это самый тихий из трёх случаев.

Случай первый: белый список расширений

Сверщик после выкладки сравнивает содержимое прода с содержимым репозитория. Фильтр знал пять типов: .html, .xml, .txt, .css, .js. Страница с расширением .htm — на одну букву короче — и php-обработчик заявок под фильтр не подошли и уехали на прод без проверки содержимого.

Арифметика отчёта, которую никто не считал. 176 залито − 174 сверено = 2 файла вне проверки. Ноль в графе «расхождения» относился к 174, а не к 176. Ту же слепую зону по .htm на этом же сайте уже закрывали раньше — в другом скрипте выкладки; в общем инструменте она осталась.

Починка вышла не в расширении списка, а в честности вывода: инструмент теперь печатает поимённо всё, что уехало и проверено быть не может. После неё отчёт читается как 175 сверено + 1 названный пропуск = 176, и пропуск законный: прод отдаёт результат выполнения php, а не исходник — такой файл проверяют запросом по видимому результату, а не сравнением байтов.

Правило, которое мы из этого сделали. Отчёт обязан сходиться как равенство: обработано = сошлось + разошлось + не проверено. Не сходится — читать почему, а не радоваться нулю в графе ошибок.

Случай второй: в обход попало то, чего на сайте нет

Внутри репозитория сателлита лежала изолированная копия чужой сессии — полный снимок сайта примерно на 630 файлов, сделанный за месяц до замера. Рекурсивный поиск обходит весь репозиторий, а такая копия выглядит обычным подкаталогом.

Что показал сканЧто было на самом деле
382 страницы без формы заявки182 — остальное дал снимок
Соцсети постороннего владельца, счётчики находок 111 · 111 · 55В рабочем дереве этого нет вообще: следы живут только в снимке

Ошибка тут односторонняя: число всегда завышается, а завышенное выглядит убедительнее — «проблема хуже, чем думали». Снимок хранит состояние до чисток, поэтому скан «находит» ровно то, что уже вычищено. Второй пункт таблицы мы успели записать в отчёт как реальную находку и сняли только на перепроверке.

Признак класса, по которому его видно без разбора. Находки идут пачками с одинаковым счётчиком (111, 111, 55), а пути примеров начинаются одинаково. Проверка — одна команда: поиск строки с исключением служебных каталогов. Пусто — значит на сайте этого нет.

Случай третий: сверка шла по редиректам

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

Починили не порогом и не исключениями: сверка больше не проходит редиректы, а любой ответ не-200 возвращается отдельной строкой «не сверено» с кодом. Так честнее — у 301 сравнивать нечего, а 404 у намеренно удалённой страницы это ожидаемый результат, а не дефект. Контрольный прогон на следующей партии: сошлось 225 · расхождений 0 · не сверено 4, и все четыре — действительно редиректы.

Почему это дороже, чем кажется. Красное должно означать красное. Три фальшивых расхождения — это не только потерянный час, но и привычка пролистывать красное, которая доживёт до настоящего дефекта.

Четвёртый способ: одну величину меряют разными способами

За сутки количество открытых задач в отчётах разных исполнителей называлось как 153 → 196 → 38 → 316. Длина заголовков — «больше 60 знаков на восьми сайтах» против реальных 31–62. Спора не было: каждый мерил своим способом, в своё время, из своего источника.

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

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

Что делать у себя

  • Требовать от инструмента знаменатель и остаток. «Проверено N из M, не проверено K, вот их имена» — минимальный формат.
  • Прописывать исключения обхода списком. Служебные каталоги, копии сессий, кеши, зависимости — целиком, а не отдельными вложенными путями.
  • Спрашивать, с чем сравнивали. Следование редиректам, подстановка значений по умолчанию, автоисправление кодировки — три частых способа сравнить не то.
  • Числу без способа замера не верить, даже своему. Расхождение двух чисел об одной величине — сигнал остановиться и свести, а не выбрать удобное.

Все четыре случая дали технически исправные отчёты. Ни один из них не отвечал на вопрос, ради которого запускался.

Источники материала

  • Журнал уроков заезда: разбор сверки выкладки с белым списком расширений — числа партии, состав фильтра и вид отчёта после починки.
  • Тот же журнал: замер по сателлиту с чужой изолированной копией внутри репозитория — два счёта страниц и проверка происхождения находок.
  • Разбор ложных расхождений сверки: поведение на ответах не-200 и контрольный прогон следующей партии.
  • Уроки координатора: четыре значения одной величины за сутки и правило воспроизводимого способа замера.

Чтение отчётов агента разбираем на курсе

Отличить «проверено N» от «проверено N из M» — навык, который экономит больше всего времени руководителю. В курсе ставим на ваши инструменты требование печатать остаток и разбираем, какие числа нельзя нести в вывод без способа замера.

Программа курса и цены
Соседние материалы
Предыдущий замер: Прибор читает не тот текстСледующий замер: Источник, который решаетВсе материалы журнала

Обсудим ваш проект

Оставьте заявку — свяжемся в течение 15 минут в рабочее время, зададим пару вопросов и пришлём ориентир по цене и срокам. Бесплатно, без обязательств.

  1. 1. Заявка или квиз
  2. 2. Короткий созвон / переписка
  3. 3. Бесплатная смета и план
  4. 4. Договор и старт

Бесплатно и ни к чему не обязывает. Ответим за 15 минут.