Правила анализа
Встроенные правила
В анализаторе кода есть встроенный список правил, представленный в таблице ниже.
MO-EX-001
Пустой элемент Приложение Excel
Элемент
Предупреждение
Рекомендуется удалить пустые контейнеры "Приложение Excel"
MO-OU-001
Пустой элемент Приложение Outlook
Элемент
Предупреждение
Рекомендуется удалить пустые контейнеры "Приложение Outlook"
PR-AN-001
Продолжить при ошибке = true
Элемент
Предупреждение
Правило показывает элементы со свойством "Продолжить при ошибке", для которых установлена галочка (true). Данное свойство рекомендуется использовать осторожно, т.к. все исключения в данном элементы будут проигнорированы
ST-AN-001
Счетчик рабочих процессов проекта
Проект
Информация
Показывает количество файлов процессов (*.ltw) в проекте
ST-AN-002
Счетчик элементов процессов проекта
Процесс
Информация
Показывает количество элементов в одном процессе
ST-PR-001
Большое количество аргументов
Процесс
Ошибка
В процессе превышено количество допустимых аргументов. Правило имеет параметр "Счетчик аргументов", по умолчанию установлено 20
ST-PR-002
Пустой блок Catch
Элемент
Ошибка
В элементе Try-Catch есть пустой блок Catch, следовательно, исключение из блока Try не обрабатывается
ST-PR-003
Несколько уровней диаграмм
Процесс
Ошибка
Проверяет вложенность диаграмм согласно допустимому значению. Правило имеет параметр "Количество уровней", по умолчанию 2
ST-PR-004
Пустой рабочий процесс
Процесс
Предупреждение
В проекте есть пустой процесс (файл *.ltw), который рекомендуется удалить для улучшения читаемости проекта
ST-PR-005
Недоступные элементы
Процесс
Предупреждение
В процессе есть недоступные элементы. Например, закомментированные элементы или элементы, недостижимые диаграммой. Рекомендуется их удалить или добавить аннотацию для закомментированных элементов
ST-PR-006
Вложенные блоки if
Процесс
Предупреждение
В процессе превышен максимально допустимый порог вложенности для элемента If-Else. Рекомендуется уменьшить вложенность блоков if до минимума, чтобы легче было поддерживать процесс. Правило имеет параметр "Порог", значение по умолчанию 3
ST-PR-007
Глубоко вложенные действия
Процесс
Предупреждение
В процессе есть вложенные контейнеры, правило распространяется на все контейнеры. Рекомендуется уменьшить вложенность, чтобы облегчить понимание и поддержку процесса Правило имеет параметр "Порог", значение по умолчанию 7
ST-PR-008
Неполный элемент if
Элемент
Предупреждение
Элемент If-Else не заполнен. Если у вас заполнен блок Else, но пуст Then, подумайте об изменении логики элемента If-Else
ST-PR-009
Соглашение об именах переменных
Процесс
Предупреждение
Правило проверяет, соответствуют ли имена переменных соглашению о наименовании. Правило имеет параметр "Регулярное выражение" для указания шаблона
ST-PR-010
Соглашение об именах аргументов
Процесс
Предупреждение
Правило проверяет, соответствуют ли имена аргументов соглашению о наименовании. Правило имеет параметры "Регулярное выражение" для аргументов всех направлений (In, Out, InOut)
ST-PR-011
Превышена длина переменной
Процесс
Предупреждение
Превышена длина названия переменной, рекомендуется уменьшить название. Правило имеет параметр "Длина" со значением по умолчанию в 30
символов
ST-PR-012
Превышена длина аргумента
Процесс
Предупреждение
Превышена длина названия аргументов, рекомендуется уменьшить название. Правило имеет параметр "Длина" со значением по умолчанию в 30
символов
ST-PR-013
Переменные с префиксом DataTable
Процесс
Предупреждение
Переменная типа DataTable должна иметь префикс dt_
ST-PR-014
Аргументы с префиксом DataTable
Процесс
Предупреждение
Аргумент типа DataTable должен начинаться типом и продолжаться префиксом dt_
ST-PR-015
Значение аргумента по умолчанию
Процесс
Предупреждение
Используйте для аргументов значения по умолчанию для тестирования отдельных процессов
ST-PR-016
Неиспользуемые переменные
Процесс
Предупреждение
В процессе есть неиспользуемые переменные, которые рекомендуется удалить
ST-PRJ-001
Пакетные ограничения
Проект
Ошибка
Проект содержит пакеты, запрещенные в вашей организации. Правило имеет параметр "Запрещенные пакеты", где можно через запятую перечислить названия таких пакетов
ST-PRJ-002
Обязательные пакеты
Проект
Ошибка
В проекте отсутствуют пакеты, которые требуются вашей организации. Правило имеет параметр "Обязательные пакеты", где можно через запятую перечислить названия таких пакетов
Дополнительные правила
Если вы хотите расширить встроенный список правил, то установите в Студию NuGet-пакет Primo.ProjectAnalyzer.Extended.
Пакет возможно установить следующими способами:
Скачать архив
Primo.ProjectAnalyzer.Extended.zip
в папку установки Студии. Следует распаковать его в корень папки, чтобы библиотекаPrimo.ProjectAnalyzer.Extended.dll
находилась на одном уровне сPrimo.Studio.exe
. После чего перезапустить Студию, если она была запущена.Установить NuGet-пакет Primo.ProjectAnalyzer.Extended через Управление зависимостями Студии.
При установке пакета, в анализатор добавится возможность сохранять изменения в процессе/проекте при запуске анализа, а также новые правила из таблицы ниже.
ST-PR-017
Стандартное имя компонента
Элемент
Предупреждение
В процессе используется стандартное имя элемента. Лучше давать элементу уникальное имя (переименовать), указывающее на его назначение в процессе. Например, элемент "Присвоение" можно переименовать в "Присвоение <имя переменной>". Уникальное название элемента поможет быстрее понять при отладке, в каком элементе произошла ошибка
ST-PR-018
Бесконечный цикл
Элемент
Предупреждение
В процессе есть цикл, не имеющий конца. Например, правило сработает, если у вас есть "Цикл Do-While" с условием true
, поскольку в этом случае может возникнуть ситуация, когда робот не сможет выйти из цикла
ST-PR-019
Использование элементов Поколения 1
Элемент
Предупреждение
В процессе есть элементы из группы "Поколение 1". Лучше вместо них использовать новые элементы
ST-PR-020
Проверка вложенностей "Open Browser", "Attach browser", "Attach application"
Элемент
Предупреждение
В процессе есть указанные контейнеры с вложенными в них контейнерами
ST-PR-021
Фиксированные задержки в элементе
Элемент
Информация
В процессе есть элемент с задержками, которые указаны в общих свойствах "Пауза до (мс)", Пауза после (мс)". Рекомендуется проверить, действительно ли нужны эти паузы. Возможно вместо пауз стоит использовать элементы "Присутствие элемента", "Исчезновение элемента" и т.д.
ST-PR-022
Переменная исключения в блоке Try-Catch не задана
Элемент
Предупреждение
В элементе Try-Catch не указана переменная, хранящая исключение. В этом случае ее невозможно будет обработать
ST-PR-023
Вложенные циклы
Процесс
Предупреждение
В процессе есть вложенные циклы, из-за которых его будет сложно понимать и поддерживать. Для Студии Pro проверяются циклы While, Do-While, ForEach, ForEach для DataTable, Повтор N раз. Для Студии Citizen — Повтор N раз, ForEach для DataTable. Правило имеет параметр "Порог", в котором вы можете указать допустимое количество вложенностей для проверки (по умолчанию 3
)
ST-PR-024
Аннотация для главной последовательности не задана
Процесс
Предупреждение
В процессе отсутствует комментарий для разработчиков, который можно указать в аннотации корневой последовательности
ST-PR-025
Загруженность проекта
Процесс
Предупреждение
Количество элементов в одном процессе превышает рекомендуемое число. Правило имеет параметры "Нормально" (значение по умолчанию 20
), "Средне" (по умолчанию 50
), "Критично" (по умолчанию 100
). Значения в параметрах можно изменять
ST-PR-026
Перегруженность проекта логами
Процесс
Предупреждение
В процессе слишком часто используется элемент "Запись в журнал". Правило имеет параметр "Процент логов относительно остальных элементов", по умолчанию установлено значение 50
ST-PR-027
Переменные с префиксом
Процесс
Предупреждение
Процесс содержит переменную без префикса. Правило имеет 5 шаблонов для переменных разных типов данных, в которых можно указывать рекомендуемые префиксы
ST-PR-028
Повторяющиеся элементы в процессе
Процесс
Предупреждение
В процессе есть повторяющиеся части с одинаковой функциональностью, которую можно вынести в подпроцесс. Правило имеет параметр "Процент повторяющихся элементов", по умолчанию 50
ST-PR-029
Вложенные контейнеры
Процесс
Предупреждение
В процессе есть вложенные контейнеры "Открыть браузер", "Присоединиться к браузеру", "Присоединиться к приложению". Правило имеет параметр "Порог", где можно указать допустимый порог вложенности. По умолчанию 2
ST-PRJ-003
Описание для проекта не указано
Проект
Предупреждение
При создании/редактировании проекта не указали комментарий в поле "Описание"
ST-PRJ-004
Похожие процессы
Проект
Предупреждение
В проекте есть похожие процессы с одинаковой функциональностью, которую можно вынести в подпроцесс. Правило имеет параметр "Процент повторяющихся элементов", по умолчанию 50
Создание правил анализа
Вы можете разработать собственные правила анализа кода согласно этой инструкции.
Last updated