Каждая функция, заданная в анонимном пространстве имен, или статическая функция с внутренним редактированием, или функция частного представителя, должна использоваться
Каждая функция, заданная в анонимном пространстве имен, или статическая функция с внутренним редактированием, или функция частного представителя, должна использоваться.
Функции, заданные в анонимном пространстве имен и статические функции с внутренним редактированием, вызываются только внутри модуля компиляции, в котором они определены. Точно так же функции private member могут вызываться только внутри реализации класса, к которой они относятся. В обоих случаях такие функции предназначены для использования исключительно в текущем исходном коде, а не во внешнем коде, который позже интегрируется в проект. Отказ от использования таких функций указывает на плохую разработку ПО или отсутствующую логику в текущей основе кода.
Примечание
Явного вызова функции в исходном коде достаточно, чтобы удовлетворить этому правилу, даже если вызов недоступен во время выполнения. Отдельное правило, M0-1-1, проверяет на все недоступные вхождения кода.
Если функция, определенная в вашем исходном коде, не вызывается явным образом и принадлежит к одной из следующих категорий, то шашка помечает определение функции:
Функции, заданные в анонимном пространстве имен
Статические функции с внутренним редактированием
Функции частного представителя, определенные вне определения класса
Проверка не помечает незакрытую функцию частного представителя, которая задана в определении класса.
Проверка не помечает функции частных представителей, которые заданы вне определения класса в Polyspace по умолчанию® по мере анализа You Code. Смотрите Checkers Deactivated in Polyspace как You Code Default Analysis (Polyspace Bug Finder Access).
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Языковые независимые вопросы |
Категория: Необходимый, Автоматизированный |