dsp-site/wiki/Prog/Lang/CPP/Проверка именования в Clang Tidy.md
2019-04-20 23:24:14 +03:00

28 KiB
Raw Blame History

title category tags summary CSS toc
Проверка именования в Clang Tidy Программирование C++, программирование, clang, clang-tidy table-100.css yes

Checks: 'clang-diagnostic-*,readability-identifier-naming' CheckOptions:

  • key: readability-identifier-naming.VariableCase value: lower_case
  • key: readability-identifier-naming.VariablePrefix value: ''
  • key: readability-identifier-naming.VariableSuffix value: '' ...

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




## Синтаксис


### AbstractClass (Абстрактный класс)

Параметр                       | Значение
-------------------------------|----------------
AbstractClassCase              | `CamelCase`
AbstractClassPrefix            | `''`
AbstractClassSuffix            | `''`

Пример кода до форматирования:

```cpp
class ABSTRACT_CLASS {
public:
  ABSTRACT_CLASS();
};

Пример кода после форматирования:

class AbstractClass {
public:
  AbstractClass();
};

Class (Класс)

Параметр Значение
ClassCase CamelCase
ClassPrefix ''
ClassSuffix ''

Пример кода до форматирования:

class TEST_CLASS {
public:
  TEST_CLASS();
  ~TEST_CLASS();
};

Пример кода после форматирования:

class TestClass {
public:
  TestClass();
  ~TestClass();
};

Struct (Структура)

Параметр Значение
StructCase CamelCase
StructPrefix ''
StructSuffix ''

Пример кода до форматирования:

struct TEST_struct {
  int a;
};

Пример кода после форматирования:

struct TestStruct {
  int a;
};

Union (Объединение)

Параметр Значение
UnionCase CamelCase
UnionPrefix ''
UnionSuffix ''

Пример кода до форматирования:

union TEST_union {
  int a;
  char b;
};

Пример кода после форматирования:

union TestUnion {
  int a;
  char b;
};

Enum (Перечисление)

Параметр Значение
EnumCase CamelCase
EnumPrefix ''
EnumSuffix ''

Пример кода до форматирования:

enum TEST_enum { One, Two };

Пример кода после форматирования:

enum TestEnum { One, Two };

EnumConstant (Значение в перечислении)

Параметр Значение
EnumConstantCase CamelCase
EnumConstantPrefix ''
EnumConstantSuffix ''

Пример кода до форматирования:

enum TestEnum { one, two };

Пример кода после форматирования:

enum TestEnum { One, Two };

Namespace (Пространство имён)

Параметр Значение
NamespaceCase lower_case
NamespacePrefix ''
NamespaceSuffix ''

Пример кода до форматирования:

namespace TEST_ns {
...
}

Пример кода после форматирования:

namespace test_ns {
...
}

InlineNamespace (Вложенное пространство имён)

Параметр Значение
InlineNamespaceCase lower_case
InlineNamespacePrefix ''
InlineNamespaceSuffix ''

Пример кода до форматирования:

namespace test_ns {
inline namespace InlineNamespace {
...
}
} // namespace test_ns

Пример кода после форматирования:

namespace test_ns {
inline namespace inline_namespace {
...
}
} // namespace test_ns

TypeAlias (Псевдоним типа)

Параметр Значение
TypeAliasCase lower_case
TypeAliasPrefix ''
TypeAliasSuffix ''

Пример кода до форматирования:

using MY_STRUCT_TYPE = MyStructure;

Пример кода после форматирования:

using my_struct_type = MyStructure;

Typedef (Объявление типа)

Параметр Значение
TypedefCase lower_case
TypedefPrefix ''
TypedefSuffix ''

Пример кода до форматирования:

typedef int MY_INT;

Пример кода после форматирования:

typedef int my_int;

Переменные

Variable (Переменная)

Параметр Значение
VariableCase lower_case
VariablePrefix ''
VariableSuffix ''

Пример кода до форматирования:

unsigned TestVariable;

Пример кода после форматирования:

unsigned testvariable;

GlobalVariable (Глобальная переменная)

Параметр Значение
VariableCase lower_case
VariablePrefix ''
VariableSuffix ''

Пример кода до форматирования:

unsigned GlobalVariable;

Пример кода после форматирования:

unsigned globalvariable;

LocalVariable (Локальная переменная)

Параметр Значение
LocalVariableCase lower_case
LocalVariablePrefix ''
LocalVariableSuffix ''

Пример кода до форматирования:

unsigned Local_Variable;

Пример кода после форматирования:

unsigned local_variable;

StaticVariable (Статическая переменная)

Параметр Значение
StaticVariableCase lower_case
StatcVariablePrefix ''
StatucVariableSuffix ''

Пример кода до форматирования:

unsigned staticVariable;

Пример кода после форматирования:

unsigned staticvariable;

ConstexptVariable (Переменная constexpr)

GlobalPointer (Глобальный указатель)

LocalPointer(Локальный указатель)

Member (Член)

ClassMember (Член класса)

PrivateMember (Приватная переменная)

ProtectedMember (Защищённая переменная)

PublicMember (Публичная переменная)

Константы

Constant (Константа)

GlobalConstant (Глобальная константа)

LocalConstant (Локальная константа)

StaticConstant (Статическая контстанта)

ClassConstant (Константа класса)

GlobalConstantPointer (Глобальный константный указатель)

LocalConstantPointer (Локальный константный указатель)

ConstMember (Константный член)

Функции

Function (Функция)

GlobalFunction (Глобальная функция)

ConstexptFunction (Функция constexpr)

Method (Метод)

ClassMethod (Метод класса)

ConstexprMethod (Метод constexpr)

VirtualMethod (Виртуальный метод)

PrivateMethod (Приватный метод)

ProtectedMethod (Защищённый метод)

PublicMethod (Публичный метод)

Параметры

Параметр

Константный параметр

Константный указатель на параметр

Список парамтров

Параметр-укзатель

Параметр шаблона

Параметр шаблона шаблона

Типа параметра шаблона

Значение параметра шаблона

    ConstantParameterCase, ConstantParameterPrefix, ConstantParameterSuffix
    ConstantPointerParameterCase, ConstantPointerParameterPrefix, ConstantPointerParameterSuffix
    ParameterCase, ParameterPrefix, ParameterSuffix
    ParameterPackCase, ParameterPackPrefix, ParameterPackSuffix
    PointerParameterCase, PointerParameterPrefix, PointerParameterSuffix
    TemplateParameterCase, TemplateParameterPrefix, TemplateParameterSuffix
    TemplateTemplateParameterCase, TemplateTemplateParameterPrefix, TemplateTemplateParameterSuffix
    TypeTemplateParameterCase, TypeTemplateParameterPrefix, TypeTemplateParameterSuffix
    ValueTemplateParameterCase, ValueTemplateParameterPrefix, ValueTemplateParameterSuffix

Лексическая единица Регистр имени абстрактного класса Параметр readability-identifier-naming.AbstractClassCase Значение CamelCase Пример ATestClass Пример кода:

class ATestClass {
};

Лексическая единица: Префикс имени абстрактного класса Параметр: readability-identifier-naming.AbstractClassPrefix Значение: 'A' Пример: ATestClass Пример кода:

class ATestClass {
};

Лексическая единица: Регистр имени класса Параметр: readability-identifier-naming.ClassCase Значение: CamelCase Пример: EasyTest Пример кода:

class EasyTest {
};

Лексическая единица: Префикс имени класса Параметр: readability-identifier-naming.ClassPrefix Значение: '' (было 'C') Пример: EasyTest Пример кода:

class EasyTest {
};

Лексическая единица: Регистр имена константы класса Параметр: readability-identifier-naming.ClassConstantCase Значение: CamelCase Пример: FixedValue Пример кода:

class EasyTest {
  const int FixedValue = 1;
};

Лексическая единица: Префикс имени константы класса Параметр: readability-identifier-naming.ClassConstantPrefix Значение: '' (было 'k') Пример: FixedValue Пример кода:

class EasyTest {
  static const int FixedValue = 1;
};

????? Лексическая единица: Регистр имени члена класса Параметр: readability-identifier-naming.ClassMemberCase Значение: CamelCase Пример: Пример кода:

?????

Лексическая единица: Регистр имени метода класса Параметр: readability-identifier-naming.ClassMethodCase Значение: camelBack Пример: getValue Пример кода:

class EasyTest {
public:
  int getValue();
};

Лексическая единица: Регистр имени константы Параметр: readability-identifier-naming.ConstantCase Значение: UPPER_CASE Пример: BLACK_COLOR Пример кода:

const unsigned BLACK_COLOR = 0;

????? Лексическая единица: Суффикс имени константы Параметр: readability-identifier-naming.ConstantSuffix Значение: '' (было '_CST') Пример: Пример кода:

?????

Лексическая единица: Регистр имени функции, возвращающей константное значение Параметр: readability-identifier-naming.ConstexprFunctionCase Значение: lower_case Пример: get_five Пример кода:

constexpr int get_five() {
  return ( 2 + 3 );
};

Лексическая единица: Регистт имени метода, возвращающего константное значение Параметр: readability-identifier-naming.ConstexprMethodCase Значение: lower_case Пример: get_five Пример кода:

class EasyTest {
  constexpr int get_five() {
    return ( 2 + 3 );
  };
};

Лексическая единица: Регистр имени константной переменной, получающей значение из функции Параметр: readability-identifier-naming.ConstexprVariableCase Значение: lower_case Пример: const_five Пример кода:

constexpr int get_five() {
        return ( 2 + 3 );
};
constexpr int const_five = get_five();

Лексическая единица: Регистр имени перечисления Параметр: readability-identifier-naming.EnumCase Значение: CamelCase Пример: CurrentState Пример кода:

enum CurrentState {
  OK    = 0,
  ERROR = 1
};

Лексическая единица: Префикс имени перечисления Параметр: readability-identifier-naming.EnumPrefix Значение: '' (было 'E') Пример: Пример кода:

enum CurrentState {
  OK    = 0,
  ERROR = 1
};

Лексическая единица: Регистр имени константы в перечислении Параметр: readability-identifier-naming.EnumConstantCase Значение: UPPER_CASE Пример: OK Пример кода:

enum CurrentState {
  OK    = 0,
  ERROR = 1
};

Лексическая единица: Регистр имени статической функции Параметр: readability-identifier-naming.FunctionCase Значение: camelBack Пример: staticFunction Пример кода:

static void staticFunction();

Лексическая единица: Регистр имени глобальной константы Параметр: readability-identifier-naming.GlobalConstantCase Значение: UPPER_CASE Пример: BLACK_COLOR Пример кода:

const int BLACK_COLOR = 0;

Лексическая единица: Регистр имени глобальной функции Параметр: readability-identifier-naming.GlobalFunctionCase Значение: CamelCase Пример: GlobalFunction Пример кода:

void GlobalFunction();

Лексическая единица: Регистр имени глобальной переменной Параметр: readability-identifier-naming.GlobalVariableCase Значение: lower_case Пример: g_useful_variable Пример кода:

int g_useful_variable = 0;

Лексическая единица: Префикс имени глобальной переменной Параметр: readability-identifier-naming.GlobalVariablePrefix Значение: 'g_' Пример: g_useful_variable Пример кода:

int g_useful_variable = 0;

???? Лексическая единица: Параметр: readability-identifier-naming.InlineNamespaceCase Значение: lower_case Пример: Пример кода:

?????

Лексическая единица: Регистр имени локальной константы Параметр: readability-identifier-naming.LocalConstantCase Значение: CamelCase Пример: BlackColor Пример кода:

void GlobalFunc() {
	const int BlackColor = 0;
}

Лексическая единица: Префикс имени локальной константы Параметр: readability-identifier-naming.LocalConstantPrefix Значение: '' (было 'k') Пример: BlackColor Пример кода:

void GlobalFunc() {
	const int BlackColor = 0;
}

Лексическая единица: Регистр имени локальной переменной Параметр: readability-identifier-naming.LocalVariableCase Значение: lower_case Пример: black_color Пример кода:

void GlobalFunc() {
	int black_color = 0;
}

????? Лексическая единица: Параметр: readability-identifier-naming.MemberCase Значение: CamelCase Пример: Пример кода:

????

????? Лексическая единица: Параметр: readability-identifier-naming.MemberPrefix Значение: 'm_' Пример: Пример кода:

????

Лексическая единица: Регистр имени константного члена класса Параметр: readability-identifier-naming.ConstantMemberCase Значение: lower_case Пример: black_color Пример кода:

class TestClass {
public:
	const int black_color = 0;
};

Лексическая единица: Префикс имени приватного члена класса Параметр: readability-identifier-naming.PrivateMemberPrefix Значение: '__' Пример: __black_color Пример кода:

class TestClass {
private:
	int __black_color = 0;
};

Лексическая единица: Префикс имени защищённого члена класса Параметр: readability-identifier-naming.ProtectedMemberPrefix Значение: '_' Пример: _black_color Пример кода:

class TestClass {
protected:
	int _black_color = 0;
};

Лексическая единица: Префикс имени публичного члена класса Параметр: readability-identifier-naming.PublicMemberCase Значение: lower_case Пример: black_color Пример кода:

class TestClass {
public:
	int black_color = 0;
};

Лексическая единица: Регистр имени публичного метода Параметр: readability-identifier-naming.MethodCase Значение: camelBack Пример: testMethod Пример кода:

class TestClass {
public:
	void testMethod();
};

Лексическая единица: Регистр имени приватного метода Параметр: readability-identifier-naming.PrivateMethodPrefix Значение: '__' Пример: __testMethod Пример кода:

class TestClass {
private:
	void __testMethod();
};

Лексическая единица: Регистр имени защищённого метода Параметр: readability-identifier-naming.ProtectedMethodPrefix Значение: '_' Пример: _testMethod Пример кода:

class TestClass {
protected:
	void _testMethod();
};

Лексическая единица: Регистр имени пространства имён Параметр: readability-identifier-naming.NamespaceCase Значение: lower_case Пример: upper_ns Пример кода:

namespace upper_ns {
}

Лексическая единица: Регистр имени параметра Параметр: readability-identifier-naming.ParameterCase Значение: camelBack Пример: inputValue Пример кода:

void GlobalFunction(int inputValue) {
}

Лексическая единица: Префикс имени параметра Параметр: readability-identifier-naming.ParameterPrefix Значение: '' (было 'a_') Пример: inputValue Пример кода:

void GlobalFunction(int inputValue) {
}

Лексическая единица: Регистр имени констатного параметра Параметр: readability-identifier-naming.ConstantParameterCase Значение: camelBack Пример: inputValue Пример кода:

void GlobalFunction(const int inputValue) {
}

Лексическая единица: Префикс имени константного параметра Параметр: readability-identifier-naming.ConstantParameterPrefix Значение: '' (было 'i_') Пример: Пример кода:

void GlobalFunction(const int inputValue) {
}

????? Лексическая единица: Параметр: readability-identifier-naming.ParameterPackCase Значение: camelBack Пример: Пример кода:

????

????? Лексическая единица: Параметр: readability-identifier-naming.PureFunctionCase Значение: lower_case Пример: Пример кода:

?????

????? Лексическая единица: Параметр: readability-identifier-naming.PureMethodCase Значение: camelBack Пример: Пример кода:

?????

????? Лексическая единица: Регистр имени статической константы Параметр: readability-identifier-naming.StaticConstantCase Значение: UPPER_CASE Пример: BLACK_COLOR Пример кода:

void GlobalFunction() {
	static const int BLACK_COLOR = 0;
}

Лексическая единица: Регистр имени статической переменной Параметр: readability-identifier-naming.StaticVariableCase Значение: camelBack Пример: blackColor Пример кода:

void GlobalFunction() {
	static int blackColor = 0;
}

Лексическая единица: Префикс имени статической переменной Параметр: readability-identifier-naming.StaticVariablePrefix Значение: '' (было 's_') Пример: blackColor Пример кода:

void GlobalFunction() {
	static int blackColor = 0;
}

Лексическая единица: Регист имени структуры Параметр: readability-identifier-naming.StructCase Значение: lower_case Пример: pair_struct Пример кода:

struct pair_struct {
	int key;
	char value;
};

Лексическая единица: Параметр: readability-identifier-naming.TemplateParameterCase Значение: UPPER_CASE Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.TemplateTemplateParameterCase Значение: CamelCase Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.TemplateUsingCase Значение: lower_case Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.TemplateUsingPrefix Значение: 'u_' Пример: Пример кода:

//

Лексическая единица: Регистр имени шаблонного типа Параметр: readability-identifier-naming.TypeTemplateParameterCase Значение: СamelCase Пример: Пример кода:

template <typename T1> class TestClass {
	T1 __v;
};

Лексическая единица: Суффикс имени шаблонного типа Параметр: readability-identifier-naming.TypeTemplateParameterSuffix Значение: '' (было '_t') Пример: Пример кода:

template <typename T1> class TestClass {
	T1 __v;
};

Лексическая единица: Регистр имени нового типа Параметр: readability-identifier-naming.TypedefCase Значение: lower_case Пример: i32_t Пример кода:

typedef int32_t i32_t;

Лексическая единица: Суффикс имени нового типа Параметр: readability-identifier-naming.TypedefSuffix Значение: '_t' Пример: i32_t Пример кода:

typedef int32_t i32_t;

Лексическая единица: Регистр имени объединения Параметр: readability-identifier-naming.UnionCase Значение: CamelCase Пример: IntValue Пример кода:

union IntValue {
	int a;
	unsigned b;
};

Лексическая единица: Префикс имени объединения Параметр: readability-identifier-naming.UnionPrefix Значение: '' (было 'U') Пример: InvValue Пример кода:

union IntValue {
	int a;
	unsigned b;
};

Лексическая единица: Параметр: readability-identifier-naming.UsingCase Значение: lower_case Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.ValueTemplateParameterCase Значение: camelBack Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.VariableCase Значение: lower_case Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.VirtualMethodCase Значение: UPPER_CASE Пример: Пример кода:

//

Лексическая единица: Параметр: readability-identifier-naming.IgnoreFailedSplit Значение: 0 Пример: Пример кода:

//

Лексическая единица: Префикс виртуального метода Параметр: readability-identifier-naming.VirtualMethodPrefix Значение: 'v_' Пример: v_Test Пример кода:

class TestClass {
public:
	virtual void v_Test() = 0;
};

Лексическая единица: Параметр: Значение: Пример: Пример кода:

//
Параметр Значение
Case ``
Prefix ''
Suffix ''

Пример кода до форматирования:

//

Пример кода после форматирования:

//