Правила анализа

Встроенные правила

В анализаторе кода есть встроенный список правил, представленный в таблице ниже.

Код
Правило
Область
Действие
Примечание

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