exponenta event banner

Правило AUTOSAR C++ 14 A2-8-1

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

Описание

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

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

Объяснение

Имя файла заголовка, соответствующее имени сущности, объявленной в этом файле, делает #include более четкие директивы и более удобочитаемый код.

Внедрение Polyspace

Polyspace ® проверяет имя файла заголовка по имени соответствующих объявленных типов, таких какclass или struct, или namespace имена. Если имена не совпадают, Polyspace помечает первый символ в первой строке файла заголовка.

  • Сравнение имен не учитывает регистр. Например, myheader матчи myHeader.

  • Сравнение имен игнорирует:

    • Символ подчеркивания "_'. Например, myheader матчи my_Header.

    • Префикс символовC', 'M', 'T«, или символ суффикса»T'. При сравнении игнорируются символы префикса или суффикса, но не оба. Например, myheader матчи CmyHeader и myHeader_T, но не CmyHeader_T.

    • Символ дефиса-в именах файлов. Например, файл с именем my-header.h соответствует struct названный _myHeader.

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

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

Примеры

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

myheader.h

#include <memory> //Non-compliant
#include <string>

class myClass
{
	virtual ~mysClass()=default;
};

class Player : public myClass
{
	std::string Name;
	int Rank;
};

file.cpp

#include "myheader.h"

int main(){
  return 0;
}

В этом примере имя файла заголовка myheader.h несовместим, поскольку не соответствует имени базового класса (myClass), объявленный в этом файле заголовка.

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

Группа: Лексические конвенции
Категория: Обязательные, неавтоматические
Представлен в R2021a