exponenta event banner

Правило AUTOSAR C++ 14 A0-1-5

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

Описание

Определение правила

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

Объяснение

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

Правило фокусируется на виртуальных функциях, поскольку все функции, которые переопределяют виртуальную функцию, должны иметь ту же сигнатуру, что и виртуальная функция, включая количество и тип параметров. Если параметр действительно не требуется, проблема может каскадироваться от исходной функции ко всем переопределяющим функциям.

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

Внедрение Polyspace

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

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

Средство проверки не помечает неиспользуемые параметры в функциях с пустыми телами.

Поиск неисправностей

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

Проверить информацию

Группа: Вопросы, не зависящие от языка
Категория: Обязательно, Автоматизировано
Представлен в R2020a