exponenta event banner

Проверка пользовательских правил (-custom-rules)

Следовать соглашениям об именовании идентификаторов

Описание

Определите соглашения об именовании идентификаторов и проверьте их соответствие коду.

Задать опцию

Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Coding Standards & Code Metrics.

файл командной строки и параметров: Использовать параметр -custom-rules. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

Этот параметр используется для наложения соглашений об именовании на идентификаторы. Использование соглашения об именовании позволяет легко определить природу идентификатора по его имени. Например, при определении соглашения об именовании для структур можно легко определить, представляет ли идентификатор структурированную переменную или нет.

После анализа на панели Список результатов (Results List) отображается список нарушений правил именования. На панели «Источник» для каждого нарушения Polyspace ® назначает символ ключевому слову или идентификатору, соответствующему нарушению.

Полный список типов, к которым можно применять правила именования, см. в разделе Настраиваемые правила кодирования.

Настройки

На

Полиспейс сопоставляет идентификаторы в коде с заданными текстовыми шаблонами. Определите текстовые шаблоны в файле пользовательских правил кодирования. Чтобы создать файл правил кодирования,

  • Используйте мастер настраиваемых правил:

    1. Щелкните. Откроется окно выбора результатов.

    2. Узел Custom на левой панели подсвечивается. Раскройте узлы на правой панели, чтобы выбрать настраиваемое правило для проверки.

    3. Для каждого настраиваемого правила, которое требуется проверить:

      1. Выберите Вкл.

      2. В столбце Соглашение введите сообщение об ошибке, которое должно отображаться при нарушении правила.

        Например, для правила 4.3 Все поля структуры должны соответствовать указанному шаблону, можно ввести All struct fields must begin with s_. Это сообщение появляется на панели Сведения о результатах, если:

        • Шаблон указывается как s_[A-Za-z0-9_]+.

        • Поле структуры в коде не начинается с s_.

      3. В столбце «Образец» введите текстовый образец.

        Например, для правила 4.3 Все поля структуры должны соответствовать указанному шаблону, можно ввести s_[A-Za-z0-9_]+. Polyspace сообщает о нарушении правила 4.3, если поле структуры не начинается с s_.

        Для определения шаблонов можно использовать регулярные выражения Perl. Например, можно использовать следующие выражения.

        ВыражениеЗначение
        .Соответствует любому одиночному символу, кроме новой строки
        [a-z0-9]         Соответствует любой отдельной букве в наборе a-z, или цифра в наборе 0-9
        [^a-e]Соответствует любой отдельной букве, отсутствующей в наборе a-e
        \dСоответствует любой одной цифре
        \wСоответствует одному буквенно-цифровому символу или _
        x?Соответствует 0 или 1 вхождению x
        x*Соответствует 0 или более вхождениям x
        x+Соответствует 1 или более вхождениям x

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

        • (?!__)[a-z0-9_]+(?!__), соответствует текстовому шаблону, который не начинается и не заканчивается двумя подчеркиваниями.

          int __text; //Does not match
          int _text_; //Matches

        • [a-z0-9_]+_(u8|u16|u32|s8|s16|s32) , соответствует текстовому шаблону, заканчивающемуся определенным суффиксом.

          int _text_; //Does not match
          int _text_s16; //Matches
          int _text_s33; // Does not match

        • [a-z0-9_]+_(u8|u16|u32|s8|s16|s32)(_b3|_b8)? , соответствует текстовому шаблону, который заканчивается определенным суффиксом и дополнительным вторым суффиксом.

          int _text_s16; //Matches
          int _text_s16_b8; //Matches

        Полный список регулярных выражений см. в документации Perl.

Чтобы использовать или обновлять существующий файл правил кодирования, щелкните, чтобы открыть окно Выбор результатов, а затем выполните одно из следующих действий.

  • Введите полный путь к файлу в поле

  • Нажмите кнопку Обзор (Browse) и перейдите к расположению файла.

Выкл. (по умолчанию)

Polyspace не проверяет код на соответствие пользовательским соглашениям об именовании.

Информация командной строки

Параметр: -custom-rules
Значение: from-file, укажите файл с помощью Set checkers by file (-checkers-selection-file)
По умолчанию: Откл.
Пример (поиск ошибок): polyspace-bug-finder -sources file_name -custom-rules from-file -checkers-selection-file "C:\Standards\custom_config.xml"
Пример (проверка кода): polyspace-code-prover -sources file_name -custom-rules from-file -checkers-selection-file "C:\Standards\custom_config.xml"
Пример (сервер поиска ошибок): polyspace-bug-finder-server -sources file_name -custom-rules from-file -checkers-selection-file "C:\Standards\custom_config.xml"
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -custom-rules from-file -checkers-selection-file "C:\Standards\custom_config.xml"

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019a