Аудит кода проекта на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Аудит кода проекта на 1С-Битрикс
Простая
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Аудит кода проекта на 1С-Битрикс

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

Что проверяется при аудите

Аудит Битрикс-проекта существенно отличается от аудита произвольного PHP-приложения. Битрикс навязывает свои паттерны — компоненты, шаблоны, инфоблоки, агенты — и критерии качества привязаны к ним.

Архитектура инфоблоков. Инфоблоки — центральное хранилище данных в Битрикс. Типичные проблемы:

  • Использование одного инфоблока для разнородных сущностей (товары и статьи в одном месте)
  • Свойства типа «Строка» вместо «Справочник» или «Привязка к элементу» — невозможность фильтрации и связей
  • Отсутствие составных индексов на таблицах b_iblock_element_property для часто используемых фильтров
  • Хранение данных в PREVIEW_TEXT/DETAIL_TEXT вместо отдельных свойств — потеря структурированности

Компоненты и шаблоны. Проверяем:

  • Бизнес-логика в template.php вместо result_modifier.php или кастомного компонента
  • Прямые SQL-запросы через $DB->Query() вместо ORM или API инфоблоков
  • Неиспользуемые параметры компонентов, копипаст между шаблонами
  • Кастомизация стандартных компонентов через модификацию ядра (вместо class.php наследования)

init.php. Файл /bitrix/php_interface/init.php — главный индикатор здоровья проекта. На плохих проектах он содержит тысячи строк: обработчики событий, функции, классы, SQL-запросы — всё в одном файле. На хороших — только подключение автолоадера и регистрация обработчиков.

Производительность запросов. Включаем $DB->ShowSQLStat = true и анализируем количество SQL-запросов на страницу. Нормально: 30-80 запросов. Проблема: 300+ запросов из-за вызовов CIBlockElement::GetList() в цикле (N+1 проблема).

Результат аудита

Отчёт содержит не абстрактные рекомендации, а конкретный список:

Проблема Файл/Модуль Критичность Рекомендация
SQL в шаблоне компонента /bitrix/templates/main/components/.../template.php:45 Высокая Вынести в result_modifier.php, использовать CIBlockElement::GetList()
N+1 при выборке свойств Компонент catalog.section (кастомный) Высокая Использовать GetNextElement() с PROPERTY_* в $arSelect
init.php 2000+ строк /bitrix/php_interface/init.php Средняя Декомпозиция на модули, подключение через автолоадер

Критичность определяется по влиянию на производительность, безопасность и стоимость поддержки. Отчёт приоритизирован — сверху то, что нужно исправлять первым.

Инструменты

  • phpstan / psalm — статический анализ, выявление обращений к несуществующим методам и свойствам
  • PHP_CodeSniffer — проверка соответствия стандартам кодирования
  • Битрикс «Монитор производительности» (perfmon) — профилирование SQL и PHP
  • Xdebug + Cachegrind — детальный профайлинг для выявления узких мест

Аудит занимает 2-3 рабочих дня для среднего проекта. На выходе — документ, по которому можно планировать рефакторинг с понятными приоритетами и оценками трудозатрат.