Check custom rules (-custom-rules)

Следуйте соглашениям о присвоении имен для идентификаторов

Polyspace больше не будет поддерживать файлы пользовательской конфигурации в текстовом формате в будущем релизе. См. Вопросы совместимости.

Описание

Задайте соглашения о присвоении имен для идентификаторов и проверяйте свой код по ним.

Установите опцию

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

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

Почему использование эта опция

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

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

Для полного списка типов, на которые можно применить соглашения о присвоении имен, см. Пользовательские Правила Кодирования.

Настройки

On

Polyspace совпадает с идентификаторами в вашем коде против текстовых шаблонов, которые вы задаете. Задайте текстовые шаблоны в пользовательском файле правил кодирования. Создать кодирование управляет файлом,

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

    1. Щелкнуть. Окно Findings selection открывается.

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

    3. Для каждого пользовательского правила вы хотите проверять:

      1. Выберите On .

      2. В столбце Convention введите сообщение об ошибке, которое вы хотите отобразить, если правило нарушено.

        Например, для правила 4.3, All struct fields must follow the specified pattern, можно ввести All struct fields must begin with s_. Это сообщение появляется на панели Result Details если:

        • Вы задаете Pattern как s_[A-Za-z0-9_]+.

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

      3. В столбце Pattern введите текстовый шаблон.

        Например, для правила 4.3, All struct fields must follow the specified pattern, можно ввести 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.

Использовать или обновить существующее кодирование управляют файлом, щелкните, чтобы открыться, окно Findings selection затем выполняют одно из следующих действий:

  • Введите полный путь в файл в обеспеченном поле

  • Нажмите Browse и перейдите к расположению файла.

От (значения по умолчанию)

Polyspace не проверяет ваш код по настраиваемым правилам именования.

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

Параметр: -custom-rules
Значение: from-file, задайте файл с помощью Set checkers by file (-checkers-selection-file)
Значение по умолчанию: Off
Пример (Средство поиска Ошибки): Polyspace Bug Finder - источники file_name - пользовательские правила от файла - файл выбора средств проверки "C:\Standards\custom_config.xml"
Пример (Программа автоматического доказательства Кода): Polyspace Code Prover - источники file_name - пользовательские правила от файла - файл выбора средств проверки "C:\Standards\custom_config.xml"
Пример (Сервер Средства поиска Ошибки): сервер средства поиска ошибки полипробела - источники file_name - пользовательские правила от файла - файл выбора средств проверки "C:\Standards\custom_config.xml"
Пример (Сервер Программы автоматического доказательства Кода): сервер программы автоматического доказательства полипробела кода - источники file_name - пользовательские правила от файла - файл выбора средств проверки "C:\Standards\custom_config.xml"

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

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

Не рекомендуемый запуск в R2019a