MISRA C:2012 Rule 8.2

Типы функций должны быть в форме прототипа с именованными параметрами

Описание

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

Типы функций должны быть в форме прототипа с именованными параметрами.

Объяснение

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

Реализация Polyspace

Проверка правил показывает нарушение, если в параметрах объявления функции или определения отсутствуют имена или типы данных.

Дополнительное сообщение в отчете

  • Слишком много аргументов для function_name.

  • Слишком мало аргументов для function_name.

  • Типы функций должны быть в форме прототипа с именованными параметрами.

Поиск и устранение проблем

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

Примеры

расширить все

extern int func(int);   /* Non compliant */
extern int func2(int n);   /* Compliant */

extern int func3();   /* Non compliant */
extern int func4(void);   /* Compliant */

В этом примере объявления func и func3 не совместимы, поскольку параметры отсутствуют или не имеют имен.

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

Группа: Декларации и определения
Категория: Требуемая
Категория AGC: Требуется
Введенный в R2014b