Перейти к содержанию

Диагностические правила

Справочник генерируется из runtime-реестра onec-hbk-bsl. Код правила ведёт на единственную страницу с описанием, примерами, настройкой и способами подавления.

Идентификаторы

  • BSL### — основной стабильный код для вывода, select, ignore, onec-hbk-bsl.toml, SARIF/JSON и // noqa: BSL###.
  • Совместимый псевдоним можно использовать во входной конфигурации и комментариях // BSLLS:<RuleName>-off/on; вывод всегда использует BSL###.
  • Нумерация стабильна, но не обязана быть непрерывной.

Каталог

Код Псевдоним По умолчанию Уровень Описание Теги
BSL001 ParseError Да ERROR Ошибка разбора исходного кода syntax
BSL002 MethodSize Да ERROR Ограничение на размер метода size, brain-overload
BSL003 NonExportMethodsInApiRegion Да INFORMATION Неэкспортные методы в областях ПрограммныйИнтерфейс и СлужебныйПрограммныйИнтерфейс design, api
BSL004 EmptyCodeBlock Да ERROR Пустой блок кода error-handling
BSL005 UsingHardcodeNetworkAddress Да WARNING Хранение ip-адресов в коде security, hardware-related
BSL006 UsingHardcodePath Да WARNING Хранение путей к файлам в коде security, hardware-related
BSL007 UnusedLocalVariable Да WARNING Неиспользуемая локальная переменная unused
BSL008 TooManyReturns Да WARNING Метод не должен содержать много возвратов brain-overload
BSL009 SelfAssign Да WARNING Присвоение переменной самой себе suspicious
BSL011 CognitiveComplexity Да WARNING Когнитивная сложность brain-overload, complexity
BSL012 UsingHardcodeSecretInformation Да ERROR Хранение конфиденциальной информации в коде security, credentials
BSL013 CommentedCode Да WARNING Закомментированный фрагмент кода unused
BSL014 LineLength Да INFORMATION Ограничение на длину строки design
BSL015 NumberOfOptionalParams Да WARNING Ограничение на количество не обязательных параметров метода design, brain-overload
BSL016 NonStandardRegion Да INFORMATION Нестандартные разделы модуля convention
BSL017 CommandModuleExportMethods Да WARNING Экспортные методы в модулях команд и общих команд design
BSL019 CyclomaticComplexity Да WARNING Цикломатическая сложность brain-overload, complexity
BSL020 NestedStatements Да WARNING Управляющие конструкции не должны быть вложены слишком глубоко brain-overload
BSL022 UsingModalWindows Да WARNING Использование модальных окон deprecated, ui
BSL023 UsingServiceTag Да INFORMATION Использование служебных тегов convention
BSL024 SpaceAtStartComment Да INFORMATION Пробел в начале комментария convention, style
BSL025 EmptyStatement Да WARNING Пустой оператор syntax, convention
BSL026 EmptyRegion Да INFORMATION Область не должна быть пустой unused
BSL027 UsingGoto Да WARNING Оператор "Перейти" не должен использоваться design, brain-overload
BSL028 MissingCodeTryCatchEx Да INFORMATION Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении error-handling, robustness
BSL029 MagicNumber Да INFORMATION Магические числа convention, readability
BSL030 SemicolonPresence Да INFORMATION Выражение должно заканчиваться символом ";" convention, style
BSL031 NumberOfParams Да WARNING Ограничение на количество параметров метода design, brain-overload
BSL032 FunctionShouldHaveReturn Да WARNING Функция должна содержать возврат suspicious, design
BSL033 CreateQueryInCycle Да WARNING Выполнение запроса в цикле performance, brain-overload
BSL035 DuplicateStringLiteral Да INFORMATION Повторное использование строкового литерала convention, readability
BSL036 IfConditionComplexity Да WARNING Использование сложных выражений в условии оператора "Если" brain-overload, complexity
BSL039 NestedTernaryOperator Да WARNING Вложенный тернарный оператор brain-overload, readability
BSL040 UsingThisForm Да INFORMATION Использование устаревшего свойства "ЭтаФорма" design, ui
BSL041 DeprecatedMessage Да WARNING Ограничение на использование устаревшего метода "Сообщить" deprecated, ui
BSL042 UnusedLocalMethod Да WARNING Неиспользуемый локальный метод design, api
BSL047 MagicDate Да INFORMATION Магические даты design, date-time
BSL051 UnreachableCode Да WARNING Недостижимый код suspicious, dead-code
BSL052 IdenticalExpressions Да WARNING Одинаковые выражения слева и справа от "foo" оператора suspicious, logic
BSL054 ExportVariables Да INFORMATION Запрет экспортных глобальных переменных модуля design, global-state
BSL055 ConsecutiveEmptyLines Да INFORMATION Подряд идущие пустые строки style, formatting
BSL060 DoubleNegatives Да WARNING Двойные отрицания brainoverload, badpractice
BSL062 UnusedParameters Да WARNING Неиспользуемый параметр unused, design
BSL064 ProcedureReturnsValue Да ERROR Процедура не должна возвращать значение correctness, design
BSL065 MissingReturnedValueDescription Да INFORMATION Отсутствует описание возвращаемого значения функции design, documentation
BSL066 DeprecatedFind Да WARNING Использование устаревшего метода "Найти" deprecated, compatibility
BSL077 SelectTopWithoutOrderBy Да WARNING Использование 'ВЫБРАТЬ ПЕРВЫЕ' без 'УПОРЯДОЧИТЬ ПО' performance, maintainability
BSL097 DeprecatedCurrentDate Да WARNING Использование устаревшего метода "ТекущаяДата" standard, deprecated, unpredictable
BSL131 DuplicateRegion Да INFORMATION Повторяющиеся разделы модуля style
BSL148 AllFunctionPathMustHaveReturn Да ERROR Все возможные пути выполнения функции должны содержать оператор Возврат error-handling, correctness
BSL149 AssignAliasFieldsInQuery Да INFORMATION Назначение псевдонимов выбранным полям в запросе convention, query
BSL150 BadWords Да WARNING Запрещенные слова convention
BSL151 BeginTransactionBeforeTryCatch Да ERROR Нарушение правил работы с транзакциями для метода 'НачатьТранзакцию' standard
BSL152 CachedPublic Да WARNING Кеширование программного интерфейса design, performance
BSL153 CanonicalSpellingKeywords Да INFORMATION Каноническое написание ключевых слов convention, style
BSL154 CodeAfterAsyncCall Да WARNING После вызова асинхронного метода есть строки кода async, correctness
BSL155 CodeBlockBeforeSub Да ERROR Определения методов должны размещаться перед операторами тела модуля error
BSL156 CodeOutOfRegion Да INFORMATION Код расположен вне области convention, structure
BSL157 CommitTransactionOutsideTryCatch Да ERROR Нарушение правил работы с транзакциями для метода 'ЗафиксироватьТранзакцию' transaction, error-handling
BSL158 CommonModuleAssign Да ERROR Присвоение общему модулю correctness, module
BSL159 CommonModuleInvalidType Да ERROR Общий модуль недопустимого типа design, module
BSL160 CommonModuleMissingAPI Да INFORMATION Общий модуль должен иметь программный интерфейс design, module, api
BSL161 CommonModuleNameCached Да INFORMATION Пропущен постфикс "ПовтИсп" convention, naming, module
BSL162 CommonModuleNameClient Да INFORMATION Пропущен постфикс "Клиент" convention, naming, module
BSL163 CommonModuleNameClientServer Да INFORMATION Пропущен постфикс "КлиентСервер" convention, naming, module
BSL164 CommonModuleNameFullAccess Да INFORMATION Пропущен постфикс "ПолныеПрава" convention, naming, module
BSL165 CommonModuleNameGlobal Да INFORMATION Пропущен постфикс "Глобальный" convention, naming, module
BSL166 CommonModuleNameGlobalClient Да INFORMATION Глобальный модуль с постфиксом "Клиент" convention, naming, module
BSL167 CommonModuleNameServerCall Да INFORMATION Пропущен постфикс "ВызовСервера" convention, naming, module
BSL168 CommonModuleNameWords Да INFORMATION Нерекомендуемое имя общего модуля convention, naming, module
BSL169 CompilationDirectiveLost Да ERROR Директивы компиляции методов correctness, directive
BSL170 CompilationDirectiveNeedLess Да INFORMATION Лишняя директива компиляции redundant, directive
BSL171 CrazyMultilineString Да INFORMATION Безумные многострочные литералы style, readability
BSL172 DataExchangeLoading Да WARNING Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта correctness, data-exchange
BSL173 DeletingCollectionItem Да ERROR Удаление элемента при обходе коллекции посредством оператора "Для каждого ... Из ... Цикл" correctness, loop
BSL174 DenyIncompleteValues Да WARNING Запрет незаполненных значений у измерений регистров transaction, error-handling
BSL175 DeprecatedAttributes8312 Да INFORMATION Устаревшие объекты платформы 8.3.12 deprecated, compatibility
BSL176 DeprecatedMethodCall Да INFORMATION Устаревшие методы не должны использоваться deprecated
BSL177 DeprecatedMethods8310 Да INFORMATION Использование устаревшего метода клиентского приложения deprecated, compatibility
BSL178 DeprecatedMethods8317 Да INFORMATION Использование устаревших глобальных методов платформы 8.3.17 deprecated, compatibility
BSL179 DeprecatedTypeManagedForm Да WARNING Устаревшее использование типа "УправляемаяФорма" deprecated, ui
BSL180 DisableSafeMode Да WARNING Отключение безопасного режима security
BSL181 DuplicatedInsertionIntoCollection Да WARNING Повторное добавление/вставка значений в коллекцию correctness, suspicious
BSL182 ExcessiveAutoTestCheck Да INFORMATION Избыточная проверка параметра АвтоТест testing
BSL183 ExecuteExternalCode Да WARNING Выполнение произвольного кода на сервере security
BSL184 ExecuteExternalCodeInCommonModule Да WARNING Выполнение произвольного кода в общем модуле на сервере security, module
BSL185 ExternalAppStarting Да WARNING Запуск внешних приложений security
BSL186 ExtraCommas Да WARNING Запятые без указания параметра в конце вызова метода syntax, style
BSL187 FieldsFromJoinsWithoutIsNull Да WARNING Отсутствие проверки на NULL для полей из присоединяемых таблиц query, correctness
BSL188 FileSystemAccess Да WARNING Доступ к файловой системе security, compatibility
BSL189 ForbiddenMetadataName Да WARNING Объекту метаданных присвоено запрещенное имя naming, convention
BSL190 FormDataToValue Да WARNING Использование метода ДанныеФормыВЗначение performance, ui
BSL191 FullOuterJoinQuery Да WARNING Использование конструкции "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ" в запросах query, design
BSL192 FunctionNameStartsWithGet Да INFORMATION Имя функции не должно начинаться с "Получить" naming, convention
BSL193 FunctionOutParameter Да WARNING Исходящий параметр функции design
BSL194 FunctionReturnsSamePrimitive Да ERROR Функция всегда возвращает одно и то же примитивное значение redundant, design
BSL195 GetFormMethod Да WARNING Использование метода ПолучитьФорму deprecated, ui
BSL196 GlobalContextMethodCollision8312 Да ERROR Конфликт имен методов с методами глобального контекста correctness, compatibility
BSL197 IfElseDuplicatedCodeBlock Да WARNING Повторяющиеся блоки кода в синтаксической конструкции Если...Тогда...ИначеЕсли... suspicious, duplicate
BSL198 IfElseDuplicatedCondition Да WARNING Повторяющиеся условия в синтаксической конструкции Если...Тогда...ИначеЕсли... suspicious, correctness
BSL199 IfElseIfEndsWithElse Да INFORMATION Использование синтаксической конструкции Если...Тогда...ИначеЕсли... design, robustness
BSL200 IncorrectLineBreak Да INFORMATION Неправильный перенос выражения style, convention
BSL201 IncorrectUseLikeInQuery Да WARNING Некорректное использование 'ПОДОБНО' query, correctness
BSL202 IncorrectUseOfStrTemplate Да ERROR Неверное использование "СтрШаблон" correctness
BSL203 InternetAccess Да WARNING Обращение к Интернет-ресурсам security
BSL204 InvalidCharacterInFile Да WARNING Недопустимый символ correctness, encoding
BSL205 IsInRoleMethod Да WARNING Использование метода РольДоступна security, access-control
BSL206 JoinWithSubQuery Да WARNING Соединение с вложенными запросами query, performance
BSL207 JoinWithVirtualTable Да WARNING Соединение с виртуальными таблицами query, performance
BSL208 LatinAndCyrillicSymbolInWord Да WARNING Смешивание латинских и кириллических символов в одном идентификаторе suspicious, naming
BSL209 LogicalOrInJoinQuerySection Да WARNING Логическое 'ИЛИ' в соединениях запроса query, performance
BSL210 LogicalOrInTheWhereSectionOfQuery Да WARNING Использование логического "ИЛИ" в секции "ГДЕ" запроса query, performance, standard
BSL211 MetadataObjectNameLength Да WARNING Имена объектов метаданных не должны превышать допустимой длины наименования naming, convention
BSL212 MissedRequiredParameter Да ERROR Пропущен обязательный параметр метода correctness
BSL213 MissingCommonModuleMethod Да ERROR Обращение к отсутствующему методу общего модуля correctness, module
BSL214 MissingEventSubscriptionHandler Да ERROR Отсутствует обработчик подписки на событие correctness, events
BSL215 MissingParameterDescription Да INFORMATION Отсутствует описание параметров метода documentation, api
BSL216 MissingSpace Да INFORMATION Пропущены пробелы слева или справа от операторов + - * / = % < > <> <= >=, от ключевых слов, а так же справа от , и ; style, convention
BSL217 MissingTempStorageDeletion Да WARNING Отсутствует удаление данных из временного хранилища после использования resource-management, memory
BSL218 MissingTemporaryFileDeletion Да WARNING Отсутствует удаление временного файла после использования resource-management
BSL219 MissingVariablesDescription Да INFORMATION Все объявления переменных должны иметь описание documentation, convention
BSL220 MultilineStringInQuery Да INFORMATION Многострочный литерал в запросе query, style
BSL221 MultilingualStringHasAllDeclaredLanguages Да WARNING Есть локализованный текст для всех заявленных в конфигурации языков localization
BSL222 MultilingualStringUsingWithTemplate Да INFORMATION Частично локализованный текст используется в функции СтрШаблон localization, style
BSL223 NestedConstructorsInStructureDeclaration Да INFORMATION Использование конструкторов с параметрами при объявлении структуры readability, design
BSL224 NestedFunctionInParameters Да INFORMATION Инициализация параметров методов и конструкторов вызовом вложенных методов readability, brain-overload
BSL225 NumberOfValuesInStructureConstructor Да INFORMATION Ограничение на количество значений свойств, передаваемых в конструктор структуры design, readability
BSL226 OSUsersMethod Да WARNING Использование метода ПользователиОС security
BSL227 OneStatementPerLine Да INFORMATION Одно выражение в одной строке style, convention
BSL228 OrderOfParams Да WARNING Порядок параметров метода design, convention
BSL229 OrdinaryAppSupport Да WARNING Поддержка обычного приложения compatibility, ui
BSL230 PairingBrokenTransaction Да ERROR Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" transaction, correctness
BSL231 PrivilegedModuleMethodCall Да WARNING Обращение к методам привилегированных модулей security, access-control
BSL232 ProtectedModule Да INFORMATION Защищенные модули design
BSL233 PublicMethodsDescription Да INFORMATION Все методы программного интерфейса должны иметь описание documentation, api
BSL234 QueryNestedFieldsByDot Да WARNING Разыменование ссылочных полей запроса через точку query, performance
BSL235 QueryParseError Да WARNING Ошибка разбора текста запроса query, correctness
BSL236 QueryToMissingMetadata Да ERROR Обращение к несуществующим метаданным в запросе query, correctness
BSL237 RedundantAccessToObject Да INFORMATION Избыточное обращение к объекту redundant, performance
BSL238 RefOveruse Да INFORMATION Избыточное использование "Ссылка" в запросе performance, readability
BSL239 ReservedParameterNames Да WARNING Зарезервированные имена параметров naming, suspicious
BSL240 RewriteMethodParameter Да WARNING Перезапись параметров метода suspicious, correctness
BSL241 SameMetadataObjectAndChildNames Да ERROR Совпадает имя объекта метаданного и его дочернего naming, design
BSL242 ScheduledJobHandler Да ERROR Обработчик регламентного задания correctness, scheduled-jobs
BSL243 SelfInsertion Да ERROR Вставка коллекции в саму себя correctness, suspicious
BSL244 ServerCallsInFormEvents Да ERROR Серверные вызовы в событиях форм correctness, ui, performance
BSL245 ServerSideExportFormMethod Да WARNING Серверный экспортный метод формы correctness, ui
BSL246 SetPermissionsForNewObjects Да ERROR Флажок «Устанавливать права для новых объектов» должен быть установлен только у роли ПолныеПрава security, access-control
BSL247 SetPrivilegedMode Да WARNING Использование привилегированного режима security
BSL248 SeveralCompilerDirectives Да ERROR Ошибочное указание нескольких директив компиляции correctness, directive
BSL249 StyleElementConstructors Да ERROR Конструктор элемента стиля ui, design
BSL250 TempFilesDir Да WARNING Вызов функции КаталогВременныхФайлов() standard, badpractice
BSL251 TernaryOperatorUsage Да INFORMATION Использование тернарного оператора style, readability
BSL252 ThisObjectAssign Да ERROR Присвоение значения свойству ЭтотОбъект correctness, suspicious
BSL253 TimeoutsInExternalResources Да WARNING Таймауты при работе с внешними ресурсами robustness, performance
BSL254 TransferringParametersBetweenClientAndServer Да WARNING Передача параметров между клиентом и сервером performance, design
BSL255 TryNumber Да WARNING Приведение к числу в попытке error-handling, suspicious
BSL256 Typo Да INFORMATION Опечатка convention
BSL257 UnaryPlusInConcatenation Да ERROR Унарный плюс в конкатенации строк suspicious, brainoverload
BSL258 UnionAll Да WARNING Использование ключевого слова "ОБЪЕДИНИТЬ" в запросах query, performance
BSL259 UnknownPreprocessorSymbol Да WARNING Неизвестный символ препроцессора correctness, directive
BSL260 UnsafeFindByCode Да WARNING Небезопасное использование метода НайтиПоКоду() correctness, robustness
BSL261 UnsafeSafeModeMethodCall Да WARNING Небезопасное использование функции БезопасныйРежим() security, correctness
BSL262 UsageWriteLogEvent Да INFORMATION Неверное использование метода "ЗаписьЖурналаРегистрации" standard, badpractice
BSL263 UseLessForEach Да WARNING Бесполезный перебор коллекции redundant, suspicious
BSL264 UseSystemInformation Да WARNING Использование системной информации security
BSL265 UselessTernaryOperator Да INFORMATION Бесполезный тернарный оператор redundant, readability
BSL266 UsingCancelParameter Да WARNING Работа с параметром "Отказ" correctness, events
BSL267 UsingExternalCodeTools Да ERROR Использование возможностей выполнения внешнего кода standard, design
BSL268 UsingFindElementByString Да WARNING Использование методов "НайтиПоНаименованию", "НайтиПоКоду" и "НайтиПоНомеру" performance
BSL269 UsingLikeInQuery Да INFORMATION Использование 'ПОДОБНО' в запросе query, performance
BSL271 UsingObjectNotAvailableUnix Да WARNING Использование объектов недоступных в Unix системах compatibility
BSL272 UsingSynchronousCalls Да WARNING Использование синхронных вызовов performance, ui
BSL273 VirtualTableCallWithoutParameters Да WARNING Обращение к виртуальной таблице без параметров query, performance
BSL274 WrongDataPathForFormElements Да ERROR У полей формы не указан путь к данным correctness, ui
BSL275 WrongHttpServiceHandler Да ERROR Неверно задан обработчик метода http-сервиса correctness, http
BSL276 WrongUseFunctionProceedWithCall Да ERROR Некорректное использование функции ПродолжитьВызов() correctness, extensions
BSL277 WrongUseOfRollbackTransactionMethod Да ERROR Некорректное использование метода ОтменитьТранзакцию() transaction, error-handling
BSL278 WrongWebServiceHandler Да ERROR Неверно задан обработчик операции web-сервиса correctness, web-service
BSL279 YoLetterUsage Да INFORMATION Использование буквы "ё" в текстах модулей style, convention