Программа clang-tidy может проверить стилистику регистра идентификаторов, а также их префиксы и суффиксы. Возможные варианты стилей:
lower_case UPPER_CASE camelBack CamelCase camel_Snake_Back Camel_Snake_Case aNy_CasE
Перечень вариантов идентификаторов приведён здесь.
Для включения проверки именования идентификаторов нужно в находящемся в
корне проекта файле .clang-tidy
включить данный тип диагностики (опция
clang-diagnostic-*,readability-identifier-naming
), а затем указать
список выполняемых проверок и их параметры в формате YAML, например:
---
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: ''
...
Проект
с файлом .clang-tidy
, в соответствии с которым проводятся проверки
именования идентификаторов.
Перечень возможных параметров конфигурационного файла, их типовые значения и примеры соответствующего кода приведены ниже.
Синтаксис
AbstractClass (Абстрактный класс)
Параметр | Значение |
---|---|
AbstractClassCase |
|
AbstractClassPrefix |
|
AbstractClassSuffix |
|
Пример кода до форматирования:
class ABSTRACT_CLASS {
public:
ABSTRACT_CLASS();
};
Пример кода после форматирования:
class AbstractClass {
public:
AbstractClass();
};
Class (Класс)
Параметр | Значение |
---|---|
ClassCase |
|
ClassPrefix |
|
ClassSuffix |
|
Пример кода до форматирования:
class TEST_CLASS {
public:
TEST_CLASS();
~TEST_CLASS();
};
Пример кода после форматирования:
class TestClass {
public:
TestClass();
~TestClass();
};
Struct (Структура)
Параметр | Значение |
---|---|
StructCase |
|
StructPrefix |
|
StructSuffix |
|
Пример кода до форматирования:
struct TEST_struct {
int a;
};
Пример кода после форматирования:
struct TestStruct {
int a;
};
Union (Объединение)
Параметр | Значение |
---|---|
UnionCase |
|
UnionPrefix |
|
UnionSuffix |
|
Пример кода до форматирования:
union TEST_union {
int a;
char b;
};
Пример кода после форматирования:
union TestUnion {
int a;
char b;
};
Enum (Перечисление)
Параметр | Значение |
---|---|
EnumCase |
|
EnumPrefix |
|
EnumSuffix |
|
Пример кода до форматирования:
enum TEST_enum { ONE, TWO };
Пример кода после форматирования:
enum TestEnum { ONE, TWO };
EnumConstant (Значение в перечислении)
Параметр | Значение |
---|---|
EnumConstantCase |
|
EnumConstantPrefix |
|
EnumConstantSuffix |
|
Пример кода до форматирования:
enum TestEnum { one, TWO };
Пример кода после форматирования:
enum TestEnum { ONE, TWO };
Namespace (Пространство имён)
Параметр | Значение |
---|---|
NamespaceCase |
|
NamespacePrefix |
|
NamespaceSuffix |
|
Пример кода до форматирования:
namespace TEST_ns {
}
Пример кода после форматирования:
namespace test_ns {
}
InlineNamespace (Вложенное пространство имён)
Параметр | Значение |
---|---|
InlineNamespaceCase |
|
InlineNamespacePrefix |
|
InlineNamespaceSuffix |
|
Пример кода до форматирования:
namespace test_ns {
inline namespace InlineNamespace {
}
} // namespace test_ns
Пример кода после форматирования:
namespace test_ns {
inline namespace inline_namespace {
}
} // namespace test_ns
TypeAlias (Псевдоним типа)
Параметр | Значение |
---|---|
TypeAliasCase |
|
TypeAliasPrefix |
|
TypeAliasSuffix |
|
Пример кода до форматирования:
struct MyStructure {
int a;
};
using MY_STRUCT_TYPE = MyStructure;
Пример кода после форматирования:
struct MyStructure {
int a;
};
using MyStructType = MyStructure;
Typedef (Объявление типа)
Параметр | Значение |
---|---|
TypedefCase |
|
TypedefPrefix |
|
TypedefSuffix |
|
Пример кода до форматирования:
typedef int MY_INT;
Пример кода после форматирования:
typedef int my_int;
Переменные
Variable (Переменная) ???
GlobalVariable (Глобальная переменная)
Параметр | Значение |
---|---|
GlobalVariableCase |
|
GlobalVariablePrefix |
|
GlobalVariableSuffix |
|
Пример кода до форматирования:
unsigned GlobalVariable;
Пример кода после форматирования:
unsigned global_variable;
LocalVariable (Локальная переменная)
Параметр | Значение |
---|---|
LocalVariableCase |
|
LocalVariablePrefix |
|
LocalVariableSuffix |
|
Пример кода до форматирования:
int function() {
int LocalVariable = 0;
return LocalVariable;
}
Пример кода после форматирования:
int function() {
int localVariable = 0;
return localVariable;
}
StaticVariable (Статическая переменная)
Параметр | Значение |
---|---|
StaticVariableCase |
|
StaticVariablePrefix |
|
StatucVariableSuffix |
|
Пример кода до форматирования:
int functionWithStaticVariable() {
static int StaticVariable = 0;
return StaticVariable;
}
Пример кода после форматирования:
int functionWithStaticVariable() {
static int staticVariable = 0;
return staticVariable;
}
ConstexptVariable (Переменная constexpr)
Параметр | Значение |
---|---|
ConstexprVariableCase |
|
ConstexprVariablePrefix |
|
ConstexprVariableSuffix |
|
Пример кода до форматирования:
constexpr int CONST_FIVE = 5;
Пример кода после форматирования:
constexpr int const_five = 5;
GlobalPointer (Глобальный указатель)
Параметр | Значение |
---|---|
GlobalPointerCase |
|
GlobalPointerPrefix |
|
GlobalPointerSuffix |
|
Пример кода до форматирования:
void* globalPointer;
Пример кода после форматирования:
void* global_pointer;
LocalPointer (Локальный указатель)
Параметр | Значение |
---|---|
LocalPointerCase |
|
LocalPointerPrefix |
|
LocalPointerSuffix |
|
Пример кода до форматирования:
void* function() {
void* LocalPointer = nullptr;
return LocalPointer;
}
Пример кода после форматирования:
void* function() {
void* localPointer = nullptr;
return localPointer;
}
Member (Член) ???
ClassMember (Член класса)
Параметр | Значение |
---|---|
ClassMemberCase |
|
ClassMemberPrefix |
|
ClassMemberSuffix |
|
Пример кода до форматирования:
class ClassWithClassMember {
public:
static int CLASS_MEMBER;
};
Пример кода после форматирования:
class ClassWithClassMember {
public:
static int classMember;
};
ConstantMember (Константный член)
Параметр | Значение |
---|---|
ConstantMemberCase |
|
ConstantMemberPrefix |
|
ConstantMemberSuffix |
|
Пример кода до форматирования:
class ClassWithConstantMember {
char const ConstMember[4] = "123";
};
Пример кода после форматирования:
class ClassWithConstantMember {
char const const_member[4] = "123";
};
PrivateMember (Приватный член)
Параметр | Значение |
---|---|
PrivateMemberCase |
|
PrivateMemberPrefix |
|
PrivateMemberSuffix |
|
Пример кода до форматирования:
class ClassWithPrivateMember {
private:
int PrivateMember;
};
Пример кода после форматирования:
class ClassWithPrivateMember {
private:
int m_privateMember;
};
ProtectedMember (Защищённый член)
Параметр | Значение |
---|---|
ProtectedMemberCase |
|
ProtectedMemberPrefix |
|
ProtectedMemberSuffix |
|
Пример кода до форматирования:
class ClassWithProtectedMember {
protected:
int ProtectedMember;
};
Пример кода после форматирования:
class ClassWithProtectedMember {
protected:
int protectedMember;
};
PublicMember (Публичный член)
Параметр | Значение |
---|---|
PublicMemberCase |
|
PublicMemberPrefix |
|
PublicMemberSuffix |
|
Пример кода до форматирования:
class ClassWithPublicMember {
public:
int PublicMember;
};
Пример кода после форматирования:
class ClassWithPublicMember {
public:
int publicMember;
};
Константы
Constant (Константа) ???
Параметр | Значение |
---|---|
ConstantCase |
|
ConstantPrefix |
|
ConstantSuffix |
|
Пример кода до форматирования:
const int theOne = 1;
Пример кода после форматирования:
const int THE_ONE = 1;
GlobalConstant (Глобальная константа)
Параметр | Значение |
---|---|
GlobalConstantCase |
|
GlobalConstantPrefix |
|
GlobalConstantSuffix |
|
Пример кода до форматирования:
const int theOne = 1;
Пример кода после форматирования:
const int THE_ONE = 1;
LocalConstant (Локальная константа)
Параметр | Значение |
---|---|
LocalConstantCase |
|
LocalConstantPrefix |
|
LocalConstantSuffix |
|
Пример кода до форматирования:
int functionWithLocalConstant() {
const int LocalConstant = 0;
return LocalConstant;
}
Пример кода после форматирования:
int functionWithLocalConstant() {
const int localConstant = 0;
return localConstant;
}
StaticConstant (Статическая контстанта)
Параметр | Значение |
---|---|
StaticConstantCase |
|
StaticConstantPrefix |
|
StaticConstantSuffix |
|
Пример кода до форматирования:
int functionWithStaticConstant() {
const int StaticConstant = 0;
return StaticConstant;
}
Пример кода после форматирования:
int functionWithStaticConstant() {
const int staticConstant = 0;
return staticConstant;
}
ClassConstant (Константа класса)
Параметр | Значение |
---|---|
ClassConstantCase |
|
ClassConstantPrefix |
|
ClassConstantSuffix |
|
Пример кода до форматирования:
class ClassWithClassConstant {
public:
static int const Class_Constant = 0;
};
Пример кода после форматирования:
class ClassWithClassConstant {
public:
static int const CLASS_CONSTANT = 0;
};
GlobalConstantPointer (Глобальный константный указатель)
Параметр | Значение |
---|---|
GlobalConstantPointerCase |
|
GlobalConstantPointerPrefix |
|
GlobalConstantPointerSuffix |
|
Пример кода до форматирования:
void* global_pointer;
void* const GlobalConstPointer = global_pointer;
Пример кода после форматирования:
void* global_pointer;
void* const global_const_pointer = global_pointer;
LocalConstantPointer (Локальный константный указатель)
Параметр | Значение |
---|---|
LocalConstantPointerCase |
|
LocalConstantPointerPrefix |
|
LocalConstantPointerSuffix |
|
Пример кода до форматирования:
void* functionWithLocalConstPointer() {
void* pointer = nullptr;
void* const LocalConstPointer = pointer;
return LocalConstPointer;
}
Пример кода после форматирования:
void* functionWithLocalConstPointer() {
void* pointer = nullptr;
void* const localConstPointer = pointer;
return localConstPointer;
}
Функции
Function (Функция)
Параметр | Значение |
---|---|
FunctionCase |
|
FunctionPrefix |
|
FunctionSuffix |
|
Пример кода до форматирования:
static int static_function() {
return 0;
}
Пример кода после форматирования:
static int staticFunction() {
return 0;
}
GlobalFunction (Глобальная функция)
Параметр | Значение |
---|---|
GlobalFunctionCase |
|
GlobalFunctionPrefix |
|
GlobalFunctionSuffix |
|
Пример кода до форматирования:
int global_function() {
return 0;
}
Пример кода после форматирования:
int globalFunction() {
return 0;
}
ConstexprFunction (Функция constexpr)
Параметр | Значение |
---|---|
ConstexprFunctionCase |
|
ConstexprFunctionPrefix |
|
ConstexprFunctionSuffix |
|
Пример кода до форматирования:
constexpr int get_five() {
return ( 5 );
}
Пример кода после форматирования:
constexpr int getFive() {
return ( 5 );
}
Method (Метод) ???
ClassMethod (Метод класса)
Параметр | Значение |
---|---|
ClassMethodCase |
|
ClassMethodPrefix |
|
ClassMethodSuffix |
|
Пример кода до форматирования:
class ClassWithMethod {
public:
static int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithMethod {
public:
static int getInt() { return 0; };
};
ConstexprMethod (Метод constexpr)
Параметр | Значение |
---|---|
ConstexprMethodCase |
|
ConstexprMethodPrefix |
|
ConstexprMethodSuffix |
|
Пример кода до форматирования:
class ClassWithConstexprMethod {
private:
constexpr int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithConstexprMethod {
private:
constexpr int getInt() { return 0; };
};
VirtualMethod (Виртуальный метод)
Параметр | Значение |
---|---|
VirtualMethodCase |
|
VirtualMethodPrefix |
|
VirtualMethodSuffix |
|
Пример кода до форматирования:
class ClassWithVirtualMethod {
private:
virtual int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithVirtualMethod {
private:
virtual int getInt() { return 0; };
};
PrivateMethod (Приватный метод)
Параметр | Значение |
---|---|
PrivateMethodCase |
|
PrivateMethodPrefix |
|
PrivateMethodSuffix |
|
Пример кода до форматирования:
class ClassWithPrivateMethod {
private:
int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithPrivateMethod {
private:
int getInt() { return 0; };
};
ProtectedMethod (Защищённый метод)
Параметр | Значение |
---|---|
ProtectedMethodCase |
|
ProtectedMethodPrefix |
|
ProtectedMethodSuffix |
|
Пример кода до форматирования:
class ClassWithProtectedMethod {
protected:
int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithProtectedMethod {
protected:
int getInt() { return 0; };
};
PublicMethod (Публичный метод)
Параметр | Значение |
---|---|
PublicMethodCase |
|
PublicMethodPrefix |
|
PublicMethodSuffix |
|
Пример кода до форматирования:
class ClassWithPublicMethod {
public:
int get_int() { return 0; };
};
Пример кода после форматирования:
class ClassWithPublicMethod {
public:
int getInt() { return 0; };
};
Параметры
Parameter (Параметр)
Параметр | Значение |
---|---|
ParameterCase |
|
ParameterPrefix |
|
ParameterSuffix |
|
Пример кода до форматирования:
int returnInt(int return_Value) {
return return_Value;
};
Пример кода после форматирования:
int returnInt(int returnValue) {
return returnValue;
};
ConstantParameter (Константный параметр)
Параметр | Значение |
---|---|
ConstantParameterCase |
|
ConstantParameterPrefix |
|
ConstantParameterSuffix |
|
Пример кода до форматирования:
char returnChar(const char return_Value) {
return return_Value;
};
Пример кода после форматирования:
char returnChar(const char returnValue) {
return returnValue;
};
ConstantPointerParameter (Константный указатель на параметр)
Параметр | Значение |
---|---|
ConstantPointerParameterCase |
|
ConstantPointerParameterPrefix |
|
ConstantPointerParameterSuffix |
|
Пример кода до форматирования:
void* returnVoid(void* const return_Value) {
return return_Value;
};
Пример кода после форматирования:
void* returnVoid(void* const returnValue) {
return returnValue;
};
PointerParameter (Параметр типа указатель)
Параметр | Значение |
---|---|
PointerParameterCase |
|
PointerParameterPrefix |
|
PointerParameterSuffix |
|
Пример кода до форматирования:
void* returnPtr(void* return_Value) {
return return_Value;
};
Пример кода после форматирования:
void* returnPtr(void* returnValue) {
return returnValue;
};
Шаблоны
TemplateParameter (Параметр шаблона)
Параметр | Значение |
---|---|
TemplateParameterCase |
|
TemplateParameterPrefix |
|
TemplateParameterSuffix |
|
Пример кода до форматирования:
template<typename TType> int tFunction(TType t_value) {
return 0;
}
Пример кода после форматирования:
template<typename TType> int tFunction(TType tValue) {
return 0;
}
ParameterPack (Список параметров шаблона)
Параметр | Значение |
---|---|
ParameterPackCase |
|
ParameterPackPrefix |
|
ParameterPackSuffix |
|
Пример кода до форматирования:
template<class ... Types> void f(Types ... Parameters_Pack);
Пример кода после форматирования:
template<class ... Types> void f(Types ... parametersPack);
TemplateTemplateParameter (Параметр шаблона шаблона)
Параметр | Значение |
---|---|
TemplateTemplateParameterCase |
|
TemplateTemplateParameterPrefix |
|
TemplateTemplateParameterSuffix |
|
Пример кода до форматирования:
template<template<class T> class TPL_TPL_Parameter>
class AllmightyClass { };
Пример кода после форматирования:
template<template<class T> class tplTplParameter>
class AllmightyClass { };
TypeTemplateParameter (Типа параметра шаблона)
Параметр | Значение |
---|---|
TypeTemplateParameterCase |
|
TypeTemplateParameterPrefix |
|
TypeTemplateParameterSuffix |
|
Пример кода до форматирования:
template<typename t_type>int tFunction(t_type value) {
return 0;
};
Пример кода после форматирования:
template<typename TType>int tFunction(TType value) {
return 0;
};
ValueTemplateParameter (Значение параметра шаблона)
Параметр | Значение |
---|---|
ValueTemplateParameterCase |
|
ValueTemplateParameterPrefix |
|
ValueTemplateParameterSuffix |
|
Пример кода до форматирования:
template<typename TType, int arg_count> int tFunction(TType tValue) {
return 0;
}
Пример кода после форматирования:
template<typename TType, int argCount> int tFunction(TType tValue) {
return 0;
}