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

Диагностики

Используются для проверки кода на соответствие стандартам кодирования и для поиска возможных ошибок.

Некоторые диагностики выключены по умолчанию. Для их включения используйте конфигурационный файл.

Для экранирования отдельных участков кода или файлов от срабатывания диагностик можно воспользоваться специальными комментариями вида // BSLLS:КлючДиагностики-выкл. Более подробно данная функциональность описана в Экранирование участков кода.

Список реализованных диагностик

Общее количество: 167

  • Потенциальная уязвимость: 6
  • Уязвимость: 4
  • Ошибка: 55
  • Дефект кода: 102
Ключ Название Включена по умолчанию Важность Тип Теги
AllFunctionPathMustHaveReturn Все возможные пути выполнения функции должны содержать оператор Возврат Да Важный Дефект кода unpredictable
badpractice
suspicious
AssignAliasFieldsInQuery Назначение псевдонимов выбранным полям в запросе Да Важный Дефект кода standard
sql
badpractice
BadWords Запрещенные слова Нет Важный Дефект кода design
BeginTransactionBeforeTryCatch Нарушение правил работы с транзакциями для метода 'НачатьТранзакцию' Да Важный Ошибка standard
CachedPublic Кеширование программного интерфейса Да Важный Дефект кода standard
design
CanonicalSpellingKeywords Каноническое написание ключевых слов Да Информационный Дефект кода standard
CodeAfterAsyncCall После вызова асинхронного метода есть строки кода Нет Важный Дефект кода suspicious
CodeBlockBeforeSub Определения методов должны размещаться перед операторами тела модуля Да Блокирующий Ошибка error
CodeOutOfRegion Код расположен вне области Да Информационный Дефект кода standard
CognitiveComplexity Когнитивная сложность Да Критичный Дефект кода brainoverload
CommandModuleExportMethods Экспортные методы в модулях команд и общих команд Да Информационный Дефект кода standard
clumsy
CommentedCode Закомментированный фрагмент кода Да Незначительный Дефект кода standard
badpractice
CommitTransactionOutsideTryCatch Нарушение правил работы с транзакциями для метода 'ЗафиксироватьТранзакцию' Да Важный Ошибка standard
CommonModuleAssign Присвоение общему модулю Да Блокирующий Ошибка error
CommonModuleInvalidType Общий модуль недопустимого типа Да Важный Ошибка standard
unpredictable
design
CommonModuleMissingAPI Общий модуль должен иметь программный интерфейс Да Незначительный Дефект кода brainoverload
suspicious
CommonModuleNameCached Пропущен постфикс "ПовтИсп" Да Важный Дефект кода standard
badpractice
unpredictable
CommonModuleNameClient Пропущен постфикс "Клиент" Да Незначительный Дефект кода standard
badpractice
unpredictable
CommonModuleNameClientServer Пропущен постфикс "КлиентСервер" Да Важный Дефект кода standard
badpractice
unpredictable
CommonModuleNameFullAccess Пропущен постфикс "ПолныеПрава" Да Важный Потенциальная уязвимость standard
badpractice
unpredictable
CommonModuleNameGlobal Пропущен постфикс "Глобальный" Да Важный Дефект кода standard
badpractice
brainoverload
CommonModuleNameGlobalClient Глобальный модуль с постфиксом "Клиент" Да Важный Дефект кода standard
CommonModuleNameServerCall Пропущен постфикс "ВызовСервера" Да Незначительный Дефект кода standard
badpractice
unpredictable
CommonModuleNameWords Нерекомендуемое имя общего модуля Да Информационный Дефект кода standard
CompilationDirectiveLost Директивы компиляции методов Да Важный Дефект кода standard
unpredictable
CompilationDirectiveNeedLess Лишняя директива компиляции Да Важный Дефект кода clumsy
standard
unpredictable
ConsecutiveEmptyLines Подряд идущие пустые строки Да Информационный Дефект кода badpractice
CrazyMultilineString Безумные многострочные литералы Да Важный Дефект кода badpractice
suspicious
unpredictable
CreateQueryInCycle Выполнение запроса в цикле Да Критичный Ошибка performance
CyclomaticComplexity Цикломатическая сложность Да Критичный Дефект кода brainoverload
DataExchangeLoading Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта Да Критичный Ошибка standard
badpractice
unpredictable
DeletingCollectionItem Удаление элемента при обходе коллекции посредством оператора "Для каждого ... Из ... Цикл" Да Важный Ошибка standard
error
DenyIncompleteValues Запрет незаполненных значений у измерений регистров Нет Важный Дефект кода badpractice
DeprecatedAttributes8312 Устаревшие объекты платформы 8.3.12 Да Информационный Дефект кода deprecated
DeprecatedCurrentDate Использование устаревшего метода "ТекущаяДата" Да Важный Ошибка standard
deprecated
unpredictable
DeprecatedFind Использование устаревшего метода "Найти" Да Незначительный Дефект кода deprecated
DeprecatedMessage Ограничение на использование устаревшего метода "Сообщить" Да Незначительный Дефект кода standard
deprecated
DeprecatedMethodCall Устаревшие методы не должны использоваться Да Незначительный Дефект кода deprecated
design
DeprecatedMethods8310 Использование устаревшего метода клиентского приложения Да Информационный Дефект кода deprecated
DeprecatedMethods8317 Использование устаревших глобальных методов платформы 8.3.17 Да Информационный Дефект кода deprecated
DeprecatedTypeManagedForm Устаревшее использование типа "УправляемаяФорма" Да Информационный Дефект кода standard
deprecated
DuplicateRegion Повторяющиеся разделы модуля Да Информационный Дефект кода standard
DuplicateStringLiteral Повторное использование строкового литерала Да Незначительный Дефект кода badpractice
DuplicatedInsertionIntoCollection Повторное добавление/вставка значений в коллекцию Да Важный Дефект кода brainoverload
suspicious
badpractice
EmptyCodeBlock Пустой блок кода Да Важный Дефект кода badpractice
suspicious
EmptyRegion Область не должна быть пустой Да Информационный Дефект кода standard
EmptyStatement Пустой оператор Да Информационный Дефект кода badpractice
ExcessiveAutoTestCheck Избыточная проверка параметра АвтоТест Да Незначительный Дефект кода standard
deprecated
ExecuteExternalCode Выполнение произвольного кода на сервере Да Критичный Уязвимость error
standard
ExecuteExternalCodeInCommonModule Выполнение произвольного кода в общем модуле на сервере Да Критичный Потенциальная уязвимость badpractice
standard
ExportVariables Запрет экспортных глобальных переменных модуля Да Важный Дефект кода standard
design
unpredictable
ExtraCommas Запятые без указания параметра в конце вызова метода Да Важный Дефект кода standard
badpractice
FieldsFromJoinsWithoutIsNull Отсутствие проверки на NULL для полей из присоединяемых таблиц Нет Критичный Ошибка sql
suspicious
unpredictable
ForbiddenMetadataName Объекту метаданных присвоено запрещенное имя Да Блокирующий Ошибка standard
sql
design
FormDataToValue Использование метода ДанныеФормыВЗначение Да Информационный Дефект кода badpractice
FullOuterJoinQuery Использование конструкции "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ" в запросах Да Важный Дефект кода sql
standard
performance
FunctionNameStartsWithGet Имя функции не должно начинаться с "Получить" Нет Информационный Дефект кода standard
FunctionOutParameter Исходящий параметр функции Нет Важный Дефект кода design
FunctionReturnsSamePrimitive Функция всегда возвращает одно и то же примитивное значение Да Важный Ошибка design
badpractice
FunctionShouldHaveReturn Функция должна содержать возврат Да Важный Ошибка suspicious
unpredictable
GetFormMethod Использование метода ПолучитьФорму Да Важный Ошибка error
GlobalContextMethodCollision8312 Конфликт имен методов с методами глобального контекста Да Блокирующий Ошибка error
unpredictable
IdenticalExpressions Одинаковые выражения слева и справа от "foo" оператора Да Важный Ошибка suspicious
IfConditionComplexity Использование сложных выражений в условии оператора "Если" Да Незначительный Дефект кода brainoverload
IfElseDuplicatedCodeBlock Повторяющиеся блоки кода в синтаксической конструкции Если...Тогда...ИначеЕсли... Да Незначительный Дефект кода suspicious
IfElseDuplicatedCondition Повторяющиеся условия в синтаксической конструкции Если...Тогда...ИначеЕсли... Да Важный Дефект кода suspicious
IfElseIfEndsWithElse Использование синтаксической конструкции Если...Тогда...ИначеЕсли... Да Важный Дефект кода badpractice
IncorrectLineBreak Неправильный перенос выражения Да Информационный Дефект кода standard
badpractice
IncorrectUseLikeInQuery Некорректное использование 'ПОДОБНО' Да Важный Ошибка standard
sql
unpredictable
IncorrectUseOfStrTemplate Неверное использование "СтрШаблон" Да Блокирующий Ошибка brainoverload
suspicious
unpredictable
InvalidCharacterInFile Недопустимый символ Да Важный Ошибка error
standard
unpredictable
IsInRoleMethod Использование метода РольДоступна Да Важный Дефект кода error
JoinWithSubQuery Соединение с вложенными запросами Да Важный Дефект кода sql
standard
performance
JoinWithVirtualTable Соединение с виртуальными таблицами Да Важный Дефект кода sql
standard
performance
LatinAndCyrillicSymbolInWord Смешивание латинских и кириллических символов в одном идентификаторе Да Незначительный Дефект кода brainoverload
suspicious
LineLength Ограничение на длину строки Да Незначительный Дефект кода standard
badpractice
LogicalOrInTheWhereSectionOfQuery Использование логического "ИЛИ" в секции "ГДЕ" запроса Да Важный Дефект кода sql
performance
standard
MagicDate Магические даты Да Незначительный Дефект кода badpractice
brainoverload
MagicNumber Магические числа Да Незначительный Дефект кода badpractice
MetadataObjectNameLength Имена объектов метаданных не должны превышать допустимой длины наименования Да Важный Ошибка standard
MethodSize Ограничение на размер метода Да Важный Дефект кода badpractice
MissedRequiredParameter Пропущен обязательный параметр метода Да Важный Ошибка error
MissingCodeTryCatchEx Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении Да Важный Ошибка standard
badpractice
MissingCommonModuleMethod Обращение к отсутствующему методу общего модуля Да Блокирующий Ошибка error
MissingEventSubscriptionHandler Отсутствует обработчик подписки на событие Да Блокирующий Ошибка error
MissingParameterDescription Отсутствует описание параметров метода Да Важный Дефект кода standard
badpractice
MissingReturnedValueDescription Отсутствует описание возвращаемого значения функции Да Важный Дефект кода standard
badpractice
MissingSpace Пропущены пробелы слева или справа от операторов + - * / = % < > <> <= >=, от ключевых слов, а так же справа от , и ; Да Информационный Дефект кода badpractice
MissingTempStorageDeletion Отсутствует удаление данных из временного хранилища после использования Нет Критичный Дефект кода standard
performance
badpractice
MissingTemporaryFileDeletion Отсутствует удаление временного файла после использования Да Важный Ошибка badpractice
standard
MissingVariablesDescription Все объявления переменных должны иметь описание Да Незначительный Дефект кода standard
MultilineStringInQuery Многострочный литерал в запросе Да Критичный Ошибка badpractice
suspicious
unpredictable
MultilingualStringHasAllDeclaredLanguages Есть локализованный текст для всех заявленных в конфигурации языков Да Незначительный Ошибка error
localize
MultilingualStringUsingWithTemplate Частично локализованный текст используется в функции СтрШаблон Да Важный Ошибка error
localize
NestedConstructorsInStructureDeclaration Использование конструкторов с параметрами при объявлении структуры Да Незначительный Дефект кода badpractice
brainoverload
NestedFunctionInParameters Инициализация параметров методов и конструкторов вызовом вложенных методов Да Незначительный Дефект кода standard
brainoverload
badpractice
NestedStatements Управляющие конструкции не должны быть вложены слишком глубоко Да Критичный Дефект кода badpractice
brainoverload
NestedTernaryOperator Вложенный тернарный оператор Да Важный Дефект кода brainoverload
NonExportMethodsInApiRegion Неэкспортные методы в областях ПрограммныйИнтерфейс и СлужебныйПрограммныйИнтерфейс Да Важный Дефект кода standard
NonStandardRegion Нестандартные разделы модуля Да Информационный Дефект кода standard
NumberOfOptionalParams Ограничение на количество не обязательных параметров метода Да Незначительный Дефект кода standard
brainoverload
NumberOfParams Ограничение на количество параметров метода Да Незначительный Дефект кода standard
brainoverload
NumberOfValuesInStructureConstructor Ограничение на количество значений свойств, передаваемых в конструктор структуры Да Незначительный Дефект кода standard
brainoverload
OSUsersMethod Использование метода ПользователиОС Да Критичный Потенциальная уязвимость suspicious
OneStatementPerLine Одно выражение в одной строке Да Незначительный Дефект кода standard
design
OrderOfParams Порядок параметров метода Да Важный Дефект кода standard
design
OrdinaryAppSupport Поддержка обычного приложения Да Важный Дефект кода standard
unpredictable
PairingBrokenTransaction Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" Да Важный Ошибка standard
ParseError Ошибка разбора исходного кода Да Критичный Ошибка error
ProcedureReturnsValue Процедура не должна возвращать значение Да Блокирующий Ошибка error
PublicMethodsDescription Все методы программного интерфейса должны иметь описание Да Информационный Дефект кода standard
brainoverload
badpractice
QueryParseError Ошибка разбора текста запроса Да Важный Дефект кода standard
sql
badpractice
QueryToMissingMetadata Обращение к несуществующим метаданным в запросе Да Блокирующий Ошибка suspicious
sql
RedundantAccessToObject Избыточное обращение к объекту Да Информационный Дефект кода standard
clumsy
RefOveruse Избыточное использование "Ссылка" в запросе Да Важный Дефект кода sql
performance
RewriteMethodParameter Перезапись параметров метода Да Важный Дефект кода suspicious
SameMetadataObjectAndChildNames Совпадает имя объекта метаданного и его дочернего Да Критичный Ошибка standard
sql
design
ScheduledJobHandler Обработчик регламентного задания Да Критичный Ошибка error
SelectTopWithoutOrderBy Использование 'ВЫБРАТЬ ПЕРВЫЕ' без 'УПОРЯДОЧИТЬ ПО' Да Важный Дефект кода standard
sql
suspicious
SelfAssign Присвоение переменной самой себе Да Важный Ошибка suspicious
SelfInsertion Вставка коллекции в саму себя Да Важный Ошибка standard
unpredictable
performance
SemicolonPresence Выражение должно заканчиваться символом ";" Да Незначительный Дефект кода standard
badpractice
ServerSideExportFormMethod Серверный экспортный метод формы Да Блокирующий Ошибка error
unpredictable
suspicious
SetPermissionsForNewObjects Флажок «Устанавливать права для новых объектов» должен быть установлен только у роли ПолныеПрава Да Критичный Уязвимость standard
badpractice
design
SetPrivilegedMode Использование привилегированного режима Да Важный Потенциальная уязвимость suspicious
SeveralCompilerDirectives Ошибочное указание нескольких директив компиляции Да Критичный Ошибка unpredictable
error
SpaceAtStartComment Пробел в начале комментария Да Информационный Дефект кода standard
StyleElementConstructors Конструктор элемента стиля Да Незначительный Ошибка standard
badpractice
TempFilesDir Вызов функции КаталогВременныхФайлов() Да Важный Дефект кода standard
badpractice
TernaryOperatorUsage Использование тернарного оператора Нет Незначительный Дефект кода brainoverload
ThisObjectAssign Присвоение значения свойству ЭтотОбъект Да Блокирующий Ошибка error
TimeoutsInExternalResources Таймауты при работе с внешними ресурсами Да Критичный Ошибка unpredictable
standard
TooManyReturns Метод не должен содержать много возвратов Нет Незначительный Дефект кода brainoverload
TransferringParametersBetweenClientAndServer Передача параметров между клиентом и сервером Да Важный Дефект кода badpractice
performance
standard
TryNumber Приведение к числу в попытке Да Важный Дефект кода standard
Typo Опечатка Да Информационный Дефект кода badpractice
UnaryPlusInConcatenation Унарный плюс в конкатенации строк Да Блокирующий Ошибка suspicious
brainoverload
UnionAll Использование ключевого слова "ОБЪЕДИНИТЬ" в запросах Да Незначительный Дефект кода standard
sql
performance
UnknownPreprocessorSymbol Неизвестный символ препроцессора Да Критичный Ошибка standard
error
UnreachableCode Недостижимый код Да Незначительный Ошибка design
suspicious
UnsafeSafeModeMethodCall Небезопасное использование функции БезопасныйРежим() Да Блокирующий Ошибка deprecated
error
UnusedLocalMethod Неиспользуемый локальный метод Да Важный Дефект кода standard
suspicious
unused
UnusedLocalVariable Неиспользуемая локальная переменная Да Важный Дефект кода brainoverload
badpractice
unused
UnusedParameters Неиспользуемый параметр Да Важный Дефект кода design
unused
UsageWriteLogEvent Неверное использование метода "ЗаписьЖурналаРегистрации" Да Информационный Дефект кода standard
badpractice
UseLessForEach Бесполезный перебор коллекции Да Критичный Ошибка clumsy
UseSystemInformation Использование системной информации Нет Критичный Потенциальная уязвимость suspicious
UsingCancelParameter Работа с параметром "Отказ" Да Важный Дефект кода standard
badpractice
UsingExternalCodeTools Использование возможностей выполнения внешнего кода Да Критичный Потенциальная уязвимость standard
design
UsingFindElementByString Использование методов "НайтиПоНаименованию" и "НайтиПоКоду" Да Важный Дефект кода standard
badpractice
performance
UsingGoto Оператор "Перейти" не должен использоваться Да Критичный Дефект кода standard
badpractice
UsingHardcodeNetworkAddress Хранение ip-адресов в коде Да Критичный Уязвимость standard
UsingHardcodePath Хранение путей к файлам в коде Да Критичный Ошибка standard
UsingHardcodeSecretInformation Хранение конфиденциальной информации в коде Да Критичный Уязвимость standard
UsingLikeInQuery Использование 'ПОДОБНО' в запросе Нет Важный Ошибка sql
unpredictable
UsingModalWindows Использование модальных окон Да Важный Дефект кода standard
UsingObjectNotAvailableUnix Использование объектов недоступных в Unix системах Да Критичный Ошибка standard
lockinos
UsingServiceTag Использование служебных тегов Да Информационный Дефект кода badpractice
UsingSynchronousCalls Использование синхронных вызовов Да Важный Дефект кода standard
UsingThisForm Использование устаревшего свойства "ЭтаФорма" Да Незначительный Дефект кода standard
deprecated
VirtualTableCallWithoutParameters Обращение к виртуальной таблице без параметров Да Важный Ошибка sql
standard
performance
WrongDataPathForFormElements У полей формы не указан путь к данным Да Критичный Ошибка unpredictable
WrongHttpServiceHandler Неверно задан обработчик метода http-сервиса Да Критичный Ошибка suspicious
error
WrongUseFunctionProceedWithCall Некорректное использование функции ПродолжитьВызов() Да Блокирующий Ошибка error
suspicious
WrongUseOfRollbackTransactionMethod Некорректное использование метода ОтменитьТранзакцию() Да Критичный Ошибка standard
WrongWebServiceHandler Неверно задан обработчик операции web-сервиса Да Критичный Ошибка suspicious
error
YoLetterUsage Использование буквы "ё" в текстах модулей Да Информационный Дефект кода standard