AUTOSAR C++14 Rule A2-8-2

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

Описание

Управляйте определением

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

Объяснение

Имя файла реализации, которое совпадает с именем сущности, которая задана в том файле, делает вашу структуру проекта более ясными и ваш код более читаемый.

Реализация Polyspace

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

  • Сравнение имени является нечувствительным к регистру. Например, myclass соответствия myClass.

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

    • Символ подчеркивания '_'. Например, myclass соответствия my_Class.

    • Символы префикса 'CMT', или суффиксный символьный 'T'. Сравнение игнорирует или префиксные или суффиксные символы, но не обоих. Например, myclass соответствия CmyClass и myClass_T, но не CmyClass_T.

    • Символ дефиса '-'в именах файлов. Например, файл с именем my-class.cpp совпадает с class названный myClass_.

Polyspace не проверяет файл, где вы реализуете main().

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

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Примеры

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

username.h

#include <string>

class User
{
public:
	User();
    User(std::string s);
    std::string getUser();

private:
    std::string user;
};

username.cpp

#include "username.h" // Non-compliant

User::User() : user("") { }
User::User(std::string s): user(s) {}
std::string User::getUser()
{
	return user;
}

В пример, имя файла реализации username.cpp несовместимо, потому что это не совпадает с именем класса (User) заданный в том файле.

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

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