Ситуация, когда после внедрения дорогостоящего программного продукта пользователь внезапно видит на экране сообщение с ненормативной лексикой или странным «юмором» разработчика, не только подрывает авторитет ИТ-отдела, но и создает серьезные юридические риски. Рассмотрим подробно, как реагировать на такие инциденты, как юридически грамотно выстроить процесс приемки работ и какие технические стандарты фирмы «1С» нарушаются в подобных случаях.
Разберем по шагам, что именно произошло. Программист подрядчика (франчайзи) оставил в коде отладочную вставку или текстовое сообщение, которое в определенных условиях было выведено на экран конечному пользователю. Некоторые коллеги-разработчики склонны оправдывать это «усталостью» или тем, что код «закомментирован». Однако, с точки зрения бизнеса, это является прямым нарушением качества услуги.
Выясним причину, почему это недопустимо:
Проанализируем ситуацию с точки зрения права. Если в вашем договоре с франчайзи прописано требование о «соответствии стандартам разработки 1С» или «оказании услуг надлежащего качества», вы имеете полное право требовать компенсации или безвозмездного исправления.
Рассмотрим основные юридические аспекты:
Совет: При общении с руководством франчайзи используйте аргумент о «ненадлежащем контроле качества выпускаемого продукта». Для компании-партнера «1С» подобные инциденты могут закончиться жалобой в саму фирму «1С» и лишением сертификатов.
Фирма «1С» предъявляет жесткие требования к качеству кода. Рассмотрим подробнее, какие именно стандарты нарушаются при наличии «мусора» в коде.
Во-первых, это Стандарт оформления текстов сообщений. Согласно методикам, все сообщения пользователю должны быть:
Пример правильного вывода сообщения в коде 1С:
ТекстСообщения = НСтр("ru = 'Недостаточно прав для выполнения операции. Обратитесь к администратору.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
Во-вторых, это Стандарт именования переменных и комментариев. Использование имен типа ПеременнаяХ или нецензурных комментариев — это нарушение автоматизированной проверки конфигурации. Профессиональный код должен выглядеть так:
// Очищаем временную таблицу перед заполнением
// Соответствует стандарту именования переменных
ТаблицаОстатковТовара.Очистить();
Чтобы не проверять каждую строчку кода вручную, разберем современные инструменты, которые позволяют «отлавливать» мат и некачественный код еще на этапе разработки. Посмотрим на примеры инструментов:
1. BSL Language Server и SonarQube
Это мощные системы статического анализа кода. Они содержат словари «стоп-слов». Если разработчик попытается зафиксировать код, содержащий нецензурную лексику, система автоматически заблокирует коммит. Мы рекомендуем требовать от подрядчика отчет из подобных систем перед каждой приемкой этапа работ.
2. Хранилище конфигурации и Git
Как отметили участники обсуждения, важно знать, кто именно написал код. Если работа ведется через Хранилище конфигурации 1С или Git, вы всегда можете посмотреть историю изменений (History) по конкретному объекту метаданных.
Рассмотрим алгоритм проверки:
Для предотвращения подобных ситуаций в будущем, проанализируем, какие пункты стоит включить в договор на разработку в 1С:
Сообщить(), Предупреждение() без условий, а также наличие закомментированных неинформативных фрагментов кода в финальной версии.Хранилищу конфигурации для проведения независимого аудита.Выясним, как должна проходить процедура приемки, чтобы избежать сюрпризов:
Конфигурация -> Проверка конфигурации. Установите флажки проверки логической целостности и соответствия стандартам.Ctrl + Shift + F и выполните поиск по «подозрительным» словам и сленгу (например, «хер», «фигня», «ошибка!!!»). Проверьте все модули.Проанализировав ситуацию, мы видим, что «шутки» программиста — это не просто личное дело разработчика, а показатель отсутствия процессов контроля качества у франчайзи. Подобные инциденты — веский повод для серьезного разговора с руководством подрядчика и, возможно, смены исполнителя на более профессионального.