Иногда необходимо не просто включить или выключить проверку целиком, а убрать только некоторые одиночные маркеры, создаваемые этой проверкой. Например, выключить маркеры, возникающие при проверке определенного объекта конфигурации.
Такая необходимость возникает при разработке библиотечных решений, где отступления от стандартов кодирования делаются осознанно, чтобы обеспечить правильную компонентную структуру конечного решения.
Для решения подобных задач существует механизм подавления результатов проверок.
Структура приложения включает в себя как взаимосвязь объектов конфигурации, так и текст на встроенном языке, написанный в модулях. По этой причине механизм подавления проверок состоит из двух независимых компонентов:
С помощью этого механизма можно настроить подавление проверок:
Редактор показывает выбранный фрагмент дерева объектов конфигурации, в который можно добавить или удалить подавления проверок.
Чтобы настроить подавление, добавьте комментарий // @skip-check
к тому семантическому элементу модуля, для которого вы хотите подавить проверки.
Далее показаны примеры как это сделать для разных языковых элементов.
Например:
// Заголовок модуля, лицензия, описание
// @skip-check NStr-contains-camelcase - потому что в этом модуле мы не проверяем НСтр на CamelCase
// Описание процедуры через пустую строку
Процедура МояПроцедура()
...
ТекстСообщения = НСтр("ru = 'Тут в тексте есть КемелКейс';");
...
КонецПроцедуры
Чтобы настроить подавление, добавьте комментарий // @skip-check ко всему модулю до первого семантического элемента.
<// Комментарии модуля 1 | пустая строка>
...
<// Комментарии модуля N | пустая строка>
// @skip-check код-1, код-2, код-3 - комментарий
<// Комментарии модуля N+2 | пустая строка>
<Первый семантический элемент>
Здесь код-1, код-2, код-3 это коды проверок, результаты которых вы хотите подавить, а комментарий - это произвольный комментарий для разработчиков. Коды проверок указываются через запятую, с пробелами или без, а комментарий отделен пробелом и тире.
Например:
// Заголовок модуля, лицензия, описание
// Описание процедуры через пустую строку
// @skip-check NStr-contains-camelcase - потому что в этом методе мы не проверяем НСтр на CamelCase
Процедура МояПроцедура()
...
ТекстСообщения = НСтр("ru = 'Тут в тексте есть КемелКейс';");
...
КонецПроцедуры
Чтобы настроить подавление, добавьте комментарий // @skip-check перед нужным методом.
<Комментарии модуля>
// @skip-check код-1, код-2, код-3 - комментарий
Процедура
...
КонецПроцедуры
Здесь код-1, код-2, код-3 это коды проверок, результаты которых вы хотите подавить, а комментарий - это произвольный комментарий для разработчиков. Коды проверок указываются через запятую, с пробелами или без, а комментарий отделен пробелом и тире.
Например:
// Пример отключения единичной проверки ACC:1036
// @skip-check ACC:1036 -Не проверять строку на орфографию
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
// Пример отключения двух проверок - ACC:1036 и ACC:1037
// @skip-check ACC:1036, ACC:1037 - Не проверять строку на орфографию
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода);
// Пример отключения единичной проверки ACC:1036, inline
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода); // @skip-check ACC:1036 - Не проверять строку на орфографию
// Пример отключения двух проверок - ACC:1036 и ACC:1037, inline
ДобавитьПраздникЦаганСар(ПраздничныеДни, НомерГода); // @skip-check ACC:1036, ACC:1037 - Не проверять строку на орфографию
Чтобы настроить подавление, добавьте комментарий // @skip-check перед нужной инструкцией или в той же строке.
// Cписок кодов через запятую с пробелами или без, комментарий отделен пробелом и тире
// Вариант - перед statement-ом, одна аннотация (ближайшая)
// @skip-check код-1, код-2, код-3 - комментарий
<statement>
// Вариант - inline
<statement> // @skip-check код-1, код-2, код-3 - комментарий
Здесь код-1, код-2, код-3 это коды проверок, результаты которых вы хотите подавить, а комментарий - это произвольный комментарий для разработчиков. Коды проверок указываются через запятую, с пробелами или без, а комментарий отделен пробелом и тире.
Например, область, охватывающая несколько процедур:
// @skip-ckeck Nstr-contains-camaelcase - валидное исключение для области охватвающее несколько процедур
#Область СпецПроцедурыНСтр
Процедура МояПроцедура()
...
ТекстСообщения = НСтр("ru = 'Тут в тексте есть КемелКейс';");
...
КонецПроцедуры
Процедура МояПроцедура2()
...
ТекстСообщения = НСтр("ru = 'Тут в тексте есть КемелКейс 2';");
...
КонецПроцедуры
#КонецОбласти
Например, область внутри процедуры:
Процедура МояПроцедура()
...
// @skip-ckeck Nstr-contains-camaelcase - валидное исключение для области охватвающее строчки кода внутри процедуры
#Область СпецОбластьКодаНСтр
...
ТекстСообщения = НСтр("ru = 'Тут в тексте есть КемелКейс';");
...
#КонецОбласти
...
КонецПроцедуры
Чтобы настроить подавление, добавьте комментарий // @skip-check перед нужной областью.
// Перед областью, , без переноса строки. Поддерживает области внутри методов
// @skip-check код-1, код-2, код-3 - комментарий
#Область СпецПроцедурыНСтр
...
#КонецОбласти
Здесь код-1, код-2, код-3 это коды проверок, результаты которых вы хотите подавить, а комментарий - это произвольный комментарий для разработчиков. Коды проверок указываются через запятую, с пробелами или без, а комментарий отделен пробелом и тире.