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

Диагностики

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

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

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

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

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

  • Дефект кода: 74
  • Уязвимость: 3
  • Ошибка: 36
  • Потенциальная уязвимость: 4
Ключ Название Включена по умолчанию Важность Тип Тэги
BeginTransactionBeforeTryCatch Нарушение правил работы с транзакциями для метода 'НачатьТранзакцию' Да Важный Ошибка standard
CachedPublic Кеширование программного интерфейса Да Важный Дефект кода standard
design
CanonicalSpellingKeywords Каноническое написание ключевых слов Да Информационный Дефект кода standard
CodeBlockBeforeSub Определения методов должны размещаться перед операторами тела модуля Да Блокирующий Ошибка error
CodeOutOfRegion Код расположен вне области Да Информационный Дефект кода standard
CognitiveComplexity Когнитивная сложность Да Критичный Дефект кода brainoverload
CommentedCode Закомментированный фрагмент кода Да Незначительный Дефект кода standard
badpractice
CommitTransactionOutsideTryCatch Нарушение правил работы с транзакциями для метода 'ЗафиксироватьТранзакцию' Да Важный Ошибка standard
CommonModuleAssign Присвоение общему модулю Да Блокирующий Ошибка error
CommonModuleInvalidType Общий модуль недопустимого типа Да Важный Ошибка standard
unpredictable
design
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
CreateQueryInCycle Выполнение запроса в цикле Да Критичный Ошибка performance
CyclomaticComplexity Цикломатическая сложность Да Критичный Дефект кода brainoverload
DataExchangeLoading Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта Да Критичный Ошибка standard
badpractice
unpredictable
DeletingCollectionItem Удаление элемента при обходе коллекции посредством оператора "Для каждого ... Из ... Цикл" Да Важный Ошибка standard
error
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
EmptyCodeBlock Пустой блок кода Да Важный Дефект кода badpractice
suspicious
EmptyRegion Область не должна быть пустой Да Информационный Дефект кода standard
EmptyStatement Пустой оператор Да Информационный Дефект кода badpractice
ExcessiveAutoTestCheck Избыточная проверка параметра АвтоТест Да Незначительный Дефект кода standard
deprecated
ExecuteExternalCode Выполнение произвольного кода на сервере Да Критичный Уязвимость error
standard
ExecuteExternalCodeInCommonModule Выполнение произвольного кода в общем модуле на сервере Да Критичный Потенциальная уязвимость badpractice
standard
ExportVariables Запрет экспортных глобальных переменных модуля Да Важный Дефект кода standard
design
unpredictable
ExtraCommas Запятые без указания параметра в конце вызова метода Да Важный Дефект кода standard
badpractice
FormDataToValue Использование метода ДанныеФормыВЗначение Да Информационный Дефект кода badpractice
FunctionNameStartsWithGet Имя функции не должно начинаться с "Получить" Нет Информационный Дефект кода standard
FunctionReturnsSamePrimitive Функция всегда возвращает одно и то же примитивное значение Да Важный Ошибка design
badpractice
FunctionShouldHaveReturn Функция должна содержать возврат Да Важный Ошибка suspicious
unpredictable
GetFormMethod Использование метода ПолучитьФорму Да Важный Ошибка error
IdenticalExpressions Одинаковые выражения слева и справа от "foo" оператора Да Важный Ошибка suspicious
IfConditionComplexity Использование сложных выражений в условии оператора "Если" Да Незначительный Дефект кода brainoverload
IfElseDuplicatedCodeBlock Повторяющиеся блоки кода в синтаксической конструкции Если...Тогда...ИначеЕсли... Да Незначительный Дефект кода suspicious
IfElseDuplicatedCondition Повторяющиеся условия в синтаксической конструкции Если...Тогда...ИначеЕсли... Да Важный Дефект кода suspicious
IfElseIfEndsWithElse Использование синтаксической конструкции Если...Тогда...ИначеЕсли... Да Важный Дефект кода badpractice
InvalidCharacterInFile Недопустимый символ Да Важный Ошибка error
standard
unpredictable
IsInRoleMethod Использование метода РольДоступна Да Важный Дефект кода error
JoinWithSubQuery Соединение с вложенными запросами Да Важный Дефект кода sql
standard
performance
JoinWithVirtualTable Соединение с виртуальными таблицами Да Важный Дефект кода sql
standard
performance
LineLength Ограничение на длину строки Да Незначительный Дефект кода standard
badpractice
MagicNumber Магические числа Да Незначительный Дефект кода badpractice
MetadataObjectNameLength Имена объектов метаданных не должны превышать допустимой длины наименования Да Важный Ошибка standard
MethodSize Ограничение на размер метода Да Важный Дефект кода badpractice
MissingCodeTryCatchEx Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении Да Важный Ошибка standard
badpractice
MissingSpace Пропущены пробелы слева или справа от операторов + - * / = % < > <> <= >=, а так же справа от , и ; Да Информационный Дефект кода badpractice
MissingTemporaryFileDeletion Отсутствует удаление временного файла после использования Да Важный Ошибка badpractice
standard
MissingVariablesDescription Все объявления переменных должны иметь описание Да Незначительный Дефект кода standard
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
PairingBrokenTransaction Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" Да Важный Ошибка standard
ParseError Ошибка разбора исходного кода Да Критичный Ошибка error
ProcedureReturnsValue Процедура не должна возвращать значение Да Блокирующий Ошибка error
PublicMethodsDescription Все методы программного интерфейса должны иметь описание Да Информационный Дефект кода standard
brainoverload
badpractice
SelfAssign Присвоение переменной самой себе Да Важный Ошибка suspicious
SelfInsertion Вставка коллекции в саму себя Да Важный Ошибка standard
unpredictable
performance
SemicolonPresence Выражение должно заканчиваться символом ";" Да Незначительный Дефект кода standard
badpractice
SeveralCompilerDirectives Ошибочное указание нескольких директив компиляции Да Критичный Ошибка unpredictable
error
SpaceAtStartComment Пробел в начале комментария Да Информационный Дефект кода standard
StyleElementConstructors Конструктор элемента стиля Да Незначительный Ошибка standard
badpractice
TempFilesDir Вызов функции КаталогВременныхФайлов() Да Важный Дефект кода standard
badpractice
TernaryOperatorUsage Использование тернарного оператора Нет Незначительный Дефект кода brainoverload
ThisObjectAssign Присвоение значения свойству ЭтотОбъект Да Блокирующий Ошибка error
TimeoutsInExternalResources Таймауты при работе с внешними ресурсами Да Критичный Ошибка unpredictable
standard
TooManyReturns Метод не должен содержать много возвратов Нет Незначительный Дефект кода brainoverload
TryNumber Приведение к числу в попытке Да Важный Дефект кода standard
Typo Опечатка Да Информационный Дефект кода badpractice
UnaryPlusInConcatenation Унарный плюс в конкатенации строк Да Блокирующий Ошибка suspicious
brainoverload
UnionAll Использование ключевого слова "ОБЪЕДИНИТЬ" в запросах Да Незначительный Дефект кода standard
sql
performance
UnknownPreprocessorSymbol Неизвестный символ препроцессора Да Критичный Ошибка standard
error
UnreachableCode Недостижимый код Да Незначительный Ошибка design
suspicious
UnsafeSafeModeMethodCall Небезопасное использование функции БезопасныйРежим() Да Блокирующий Ошибка deprecated
error
UnusedLocalMethod Неиспользуемый локальный метод Да Важный Дефект кода standard
suspicious
UnusedParameters Неиспользуемый параметр Да Важный Дефект кода design
UseLessForEach Бесполезный перебор коллекции Да Критичный Ошибка clumsy
UsingCancelParameter Работа с параметром "Отказ" Да Важный Дефект кода standard
badpractice
UsingExternalCodeTools Использование возможностей выполнения внешнего кода Да Критичный Потенциальная уязвимость standard
design
UsingFindElementByString Использование методов "НайтиПоНаименованию" и "НайтиПоКоду" Да Важный Дефект кода standard
badpractice
performance
UsingGoto Оператор "Перейти" не должен использоваться Да Критичный Дефект кода standard
badpractice
UsingHardcodeNetworkAddress Хранение ip-адресов в коде Да Критичный Уязвимость standard
UsingHardcodePath Хранение путей к файлам в коде Да Критичный Ошибка standard
UsingHardcodeSecretInformation Хранение конфиденциальной информации в коде Да Критичный Уязвимость standard
UsingModalWindows Использование модальных окон Да Важный Дефект кода standard
UsingObjectNotAvailableUnix Использование объектов недоступных в Unix системах Да Критичный Ошибка standard
lockinos
UsingServiceTag Использование служебных тегов Да Информационный Дефект кода badpractice
UsingSynchronousCalls Использование синхронных вызовов Да Важный Дефект кода standard
UsingThisForm Использование устаревшего свойства "ЭтаФорма" Да Незначительный Дефект кода standard
deprecated
WrongUseOfRollbackTransactionMethod Некорректное использование метода ОтменитьТранзакцию() Да Критичный Ошибка standard
YoLetterUsage Использование буквы "ё" в текстах модулей Да Информационный Дефект кода standard