Должна использоваться каждая функция, определенная в анонимном пространстве имен, или статическая функция с внутренней связью, или частная функция-член.
Должна использоваться каждая функция, определенная в анонимном пространстве имен, или статическая функция с внутренней связью, или частная функция-член.
Функции, определенные в анонимном пространстве имен, и статические функции с внутренней связью вызываются только внутри блока компиляции, в котором они определены. Аналогично, частные функции-члены вызываются только внутри реализации класса, к которой они принадлежат. В обоих случаях такие функции предназначены для использования исключительно в текущем исходном коде, а не во внешнем коде, который в дальнейшем будет интегрирован в проект. Неиспользование таких функций указывает на плохую конструкцию программного обеспечения или отсутствие логики в текущей кодовой базе.
Примечание
Явного вызова функции в исходном коде достаточно для выполнения этого правила, даже если вызов недоступен во время выполнения. Отдельное правило, M0-1-1, проверяет все недоступные вхождения кода.
Если функция, определенная в исходном коде, не вызывается явным образом и относится к одной из следующих категорий, средство проверки помечает определение функции:
Функции, определенные в анонимном пространстве имен
Статические функции с внутренней связью
Частные функции-члены, определенные вне определения класса
Средство проверки не помечает неподсвоенную частную функцию-член, определенную в определении класса.
Средство проверки не помечает частные функции-члены, определенные вне определения класса в анализе Polyspace ® по умолчанию в качестве кода. См. раздел Шашки, деактивированные в Polyspace как анализ кода по умолчанию (Polyspace Bug Finder Access).
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Вопросы, не зависящие от языка |
| Категория: Обязательно, Автоматизировано |