Работа с legacy-кодом (устаревшим кодом), который был написан без соблюдения стандартов оформления, является одной из самых сложных задач для любого разработчика 1С. Когда перед вами десятки тысяч строк кода, написанных «от руки» в нижнем регистре, попытка прочитать и проанализировать такие алгоритмы для последующего перевода на управляемые формы превращается в пытку. Давайте разберем, как автоматизировать процесс приведения кода в читабельный вид и снизить уровень технического долга.
Чаще всего нечитаемость кода связана не с плохой логикой, а с нарушением базовых стандартов 1С: отсутствием верблюжьей нотации (CamelCase), игнорированием автодополнения и отсутствием структурированного форматирования. В условиях, когда проект должен быть переведен на управляемые формы, визуальный шум мешает аналитикам и разработчикам понять, как именно реализована бизнес-логика. Важно понимать, что автоформатирование не заменит рефакторинг архитектуры, но оно является первым и обязательным шагом для того, чтобы «глаза не вытекали» при чтении.
Вместо ручного исправления тысяч строк, разберем методы автоматизации:
справочники.номенклатура.получитьформу(...), специализированные инструменты позволяют массово заменить их на Справочники.Номенклатура.ПолучитьФорму(...). Это значительно ускоряет навигацию по объектам.Рассмотрим пошагово, как эффективно подготовить код к рефакторингу:
Шаг 1: Очистка и первичная обработка.
Сначала используйте инструменты для приведения ключевых слов языка 1С к стандарту (например, Если, Процедура, КонецФункции). Стандартные инструменты из ИТС или встроенные средства EDT отлично справляются с этой задачей.
Шаг 2: Обработка имен метаданных и методов.
Для приведения методов в порядок используйте дополнительные обработки, способные работать со списком методов. Пример того, как должен выглядеть результат работы:
// Было:
ф=сп.получитьформу(имяформы);
// Стало:
ф = Справочники.Номенклатура.ПолучитьФорму("ФормаСписка");
Шаг 3: Глобальный поиск и замена.
После автоматического форматирования, используйте Глобальный поиск в Конфигураторе для выявления подозрительных конструкций, которые не были распознаны обработкой. Помните о важности регулярных выражений, если вы используете VS Code или EDT для массовых правок.
Не пытайтесь перевести всё «залпом». Используйте стратегию Душителя:
БСП (Библиотеки стандартных подсистем).Многие разработчики совершают ошибку, считая форматирование кода «пустой тратой времени». Однако, если вы не приведете код к читабельному виду, каждый следующий разработчик будет тратить 80% времени на расшифровку того, что имел в виду автор, вместо того, чтобы заниматься оптимизацией или внедрением управляемых форм. Наведение порядка в оформлении — это инвестиция, которая окупается при первых же изменениях в бизнес-логике системы.
Совет: Если вы планируете продолжать работу с проектом, обязательно внедрите BSL Language Server или плагины для SonarQube. Это позволит вам видеть нарушения стандартов прямо во время написания кода и предотвратит появление «грязного» кода в будущем.