Источники норм
Расчёты Мастерок опираются на российские нормативные документы — ГОСТ, СНиП и СП. Мы не выдумываем коэффициенты и не копируем цифры из произвольных статей в интернете. Каждая формула привязана к конкретному документу или к справочнику производителя.
- ГОСТ — государственные стандарты Российской Федерации. Например, ГОСТ 31108 для цементов, ГОСТ 13015 для бетонных конструкций, ГОСТ 6266 для гипсокартонных листов.
- СНиП и СП — строительные нормы и своды правил (например, СП 71.13330 «Изоляционные и отделочные покрытия», СП 29.13330 «Полы», СП 22.13330 «Основания зданий и сооружений»).
- Технические листы производителей — расход сухих смесей, клеёв, грунтовок, красок берётся из официальных data-sheet компаний, работающих на российском рынке в 2026 году (Knauf, Weber, Bergauf, Старатели, Основит, Ceresit, Tikkivala, Dali, Perfekta и др.).
- Инженерная практика — для сценариев, которые нормативы не покрывают напрямую (например, типовой перерасход плиточного клея при диагональной укладке), используются устоявшиеся коэффициенты из строительной практики. Такие поправки оформляются отдельно и помечаются в коде как «практическая коррекция».
Этапы расчёта
Любой калькулятор на Мастерок разделяет вычисление на явные этапы — это наше жёсткое архитектурное правило. Магических формул, в которые одновременно зашиты норма, запас и упаковка, у нас нет.
- Нормализация входных данных — приведение единиц (мм → м), проверка диапазонов.
- Чистый математический расчёт — базовая потребность по нормативу.
- Практические поправки — подрезка, неровности, особенности материала.
- Запас — отдельный этап, а не скрытый множитель.
- Упаковка и округление до покупки — сколько мешков/рулонов/листов нужно реально купить.
- Формирование результата — точная потребность и итог к покупке показываются отдельно.
Три режима точности
У каждого калькулятора есть три режима — basic, realistic и professional. Это не маркетинг, а реальные множители, которые применяются на этапе практических поправок. Коэффициенты хранятся в отдельном конфиге (accuracy-profiles.json) и зависят от категории материала.
- basic — нормативный расчёт с минимальными поправками. Подходит для простых помещений и типовых условий.
- realistic — дефолт. Учитывает типичные условия реального ремонта: подрезку, неровности, ошибки и перерасход.
- professional — осторожный режим для сложных условий и гарантированной закупки материала без недовоза на объект.
Между режимами действует жёсткий инвариант: basic ≤ realistic ≤ professional на одних и тех же входных данных. Этот инвариант проверяется автоматически в CI для каждого из 66+ калькуляторов — если кто-то случайно изменит коэффициент так, что режимы перестанут быть упорядоченными, сборка не пройдёт.
Упаковки и округление
Пользователь покупает не абстрактные «3,74 кг клея», а реальные мешки. Поэтому мы всегда:
- сначала считаем точную потребность без округления;
- применяем правила упаковки материала (мешок 25 кг, рулон 10 м, лист 1,2×2,5 м и т. д.);
- округляем вверх до следующей целой упаковки;
- показываем и точную цифру, и итог к покупке отдельными строками.
Внутренние промежуточные вычисления держим максимально точными. Округление происходит только на финальном этапе — иначе мелкие ошибки округления копятся и выдают заметно неверный результат на больших объёмах.
Верификация и тесты
Мастерок существует в двух средах — веб-сайт на Next.js и мобильное приложение на Flutter. Логика расчёта у них общая, но физически это два кодовых базиса. Чтобы они всегда давали одинаковый результат, используются три уровня проверок:
- Единый источник спецификаций. Коэффициенты, упаковки и формулы каждого калькулятора хранятся в JSON-файлах (
configs/calculators/*-canonical.v1.json). Из них автоматически генерируется Dart-код для приложения. Ручная синхронизация исключена. - Unit-тесты на каждом калькуляторе — golden-кейсы с заранее известными результатами. Запускаются в CI на каждый pull request.
- Parity-тесты — отдельный набор, сверяющий веб и мобайл на одинаковых входах. Любое расхождение ловится в CI до релиза.
- Sanity-валидаторы проверяют системные инварианты: итог к покупке ≥ точной потребности, нет смешения единиц, маленькие/большие/дробные входы не дают нулей или абсурда.
Обновления и пересмотр
Дата последнего осмысленного пересмотра контента — 2026-04-30. Она обновляется вручную при значимых изменениях формул или выходе новых редакций СП. Мы не «накручиваем» её автоматически на каждый билд — свежая дата должна означать реальную свежесть.
Если вы нашли ошибку в расчёте или заметили расхождение с нормативом, напишите Михалычу — это AI-ассистент, который видит текущий расчёт пользователя и может передать баг-репорт.
Ограничения
Калькуляторы Мастерок — справочный инструмент. Результат помогает спланировать закупку и бюджет, но не заменяет проектную документацию, авторский надзор и инженерный расчёт несущих конструкций.
- Для ответственных конструкций (фундаменты под многоэтажные дома, перекрытия, несущие стены) всегда требуется индивидуальный расчёт конструктором — наш калькулятор даёт ориентировочные объёмы, но не подменяет инженерную экспертизу.
- Цены материалов, если пользователь не ввёл их сам, не подтягиваются с маркетплейсов. Реальные цены в регионе могут отличаться — вводите свои при необходимости.
- Калькулятор не знает состояние ваших стен, ровность основания и поведение бригады. Практические поправки усреднены — при сложных условиях выбирайте режим professional.
Коротко: мы опираемся на российские нормативы, разделяем расчёт на явные этапы, держим три режима точности с жёстким инвариантом и сверяем сайт с приложением автоматически. Если хотите заглянуть глубже — исходники и тесты открыты, ссылка на репозиторий есть на странице «О проекте».