Что такое прагмы и псевдокомментарии

Для улучшения качества кода на проектах часто используют автоматические проверки инспектором кода, расширенную проверку SLIN или АТС SCII. Это предварительно настроенные правила, которые проверяют код на соответствие требованиям регламента. Иногда допускается часть замечаний или ошибок закрыть так называемыми прагмами или псевдокомментариями. По моему опыту было 2 варианта: допустимо определенный перечень ошибок оставить, либо закрыть прагмами с обоснованием. В результате ошибка игнорируется и не отображается в списке.  В некоторых случаях невозможно деблокирование запроса до устранения всех ошибок.

В чем отличие прагмы от псевдокомментария

По сути они выполняют одну и ту же функцию: избавляют вас от необходимости переписывать код, который не проходит проверку инспектором кода. Прагма начинается на символы ## и ставится до окончания оператора, т.е. до точки. Псевдокомментарий начинается с символов «#EC, нахождение его до точки не обязательно. Но в обоих случаях прагма и псевдокомментарий должны располагаться напротив оператора. Если требуется использовать несколько прагм, то располагаете оператор на нескольких строках. Одна строка — один псевдокомментарий/прагма.

Примеры:

1. Динамический вызов подпрограммы. Т.е. нет прямого обращения к самой подпрограмме, а также нет обращения к атрибутам ps_record_tab и  ps_callcontrol внутри подпрограммы. Обратите внимание, точка расположена после последней ##NEEDED.

2. Выборка из БД в цикле. Прошу разработчиков, которые это читают по возможности не делать выборок в циклах. Спасибо!

Как найти нужные прагмы или псевдокомментарии

Я на текущий момент знаю 3 способа:

  1. Как правило в расширенной проверке в самом тексте ошибки указывается возможность закрытия ошибки прагмой.
  2. При проверке с помощью АТС также есть эта информация. Также есть возможность запросить освобождение на ошибку с обоснованием причины, если это предварительно настроено.
  3. Выдача поисковика

Поделюсь очень полезной ссылкой на сайт коллеги, где указан довольно подробный перечень псевдокомментариев с ошибками.

Наиболее часто встречающиеся прагмы и псевдокомментарии по моему опыту:

Также отключить проверку можно при помощи операторов SET EXTENDED CHECK OFF / SET EXTENDED CHECK ON, но обычно это прямо запрещено регламентом разработок.

PS: Пишите код грамотно! =)

Добавить комментарий

Обязательные поля отмечены *. Ваш email не будет отображаться.