This commit is contained in:
2019-04-22 08:13:35 +03:00
parent d8e0ffcd66
commit 43c149b481
4 changed files with 368 additions and 69 deletions

View File

@ -1,25 +1,26 @@
---
title: Проверка именования в Clang Tidy
title: "Проверка именования в Clang Tidy"
category: Программирование
tags: C++, программирование, clang, clang-tidy
tags: C++, программирование, clang, clang-tidy, форматирование,
summary:
CSS: table-100.css
toc: yes
...
[TOC]
Программа Clang Tidy проверяет стилистику регистра идентификаторов.
Возможные варианты стилей:
lower_case
UPPER_CASE
camelBack
CamelCase
camel_Snake_Back
Camel_Snake_Case
aNy_CasE
```
lower_case
UPPER_CASE
camelBack
CamelCase
camel_Snake_Back
Camel_Snake_Case
aNy_CasE
```
Также существует возможность проверки префиксов и суффиксов идентификаторов.
@ -45,8 +46,6 @@ CheckOptions:
и примеры соответствующего кода приведены ниже.
## Синтаксис
@ -209,7 +208,7 @@ NamespaceSuffix | `''`
```cpp
namespace TEST_ns {
...
}
```
@ -217,7 +216,7 @@ namespace TEST_ns {
```cpp
namespace test_ns {
...
}
```
@ -235,7 +234,7 @@ InlineNamespaceSuffix | `''`
```cpp
namespace test_ns {
inline namespace InlineNamespace {
...
}
} // namespace test_ns
```
@ -245,7 +244,7 @@ inline namespace InlineNamespace {
```cpp
namespace test_ns {
inline namespace inline_namespace {
...
}
} // namespace test_ns
```
@ -295,34 +294,15 @@ typedef int my_int;
## Переменные
### Variable (Переменная)
Параметр | Значение
-------------------------------|----------------
VariableCase | `lower_case`
VariablePrefix | `''`
VariableSuffix | `''`
Пример кода до форматирования:
```cpp
unsigned TestVariable;
```
Пример кода после форматирования:
```cpp
unsigned testvariable;
```
### Variable (Переменная) ???
### GlobalVariable (Глобальная переменная)
Параметр | Значение
-------------------------------|----------------
VariableCase | `lower_case`
VariablePrefix | `''`
VariableSuffix | `''`
GlobalVariableCase | `lower_case`
GlobalVariablePrefix | `''`
GlobalVariableSuffix | `''`
Пример кода до форматирования:
@ -333,7 +313,7 @@ unsigned GlobalVariable;
Пример кода после форматирования:
```cpp
unsigned globalvariable;
unsigned global_variable;
```
@ -348,13 +328,19 @@ LocalVariableSuffix | `''`
Пример кода до форматирования:
```cpp
unsigned Local_Variable;
int function() {
int LocalVariable = 0;
return LocalVariable;
}
```
Пример кода после форматирования:
```cpp
unsigned local_variable;
int function() {
int local_variable = 0;
return local_variable;
}
```
### StaticVariable (Статическая переменная)
@ -362,7 +348,7 @@ unsigned local_variable;
Параметр | Значение
-------------------------------|----------------
StaticVariableCase | `lower_case`
StatcVariablePrefix | `''`
StaticVariablePrefix | `''`
StatucVariableSuffix | `''`
Пример кода до форматирования:
@ -374,32 +360,162 @@ unsigned staticVariable;
Пример кода после форматирования:
```cpp
unsigned staticvariable;
unsigned static_variable;
```
### ConstexptVariable (Переменная constexpr)
Параметр | Значение
-------------------------------|----------------
ConstexprVariableCase | `lower_case`
ConstexprVariablePrefix | `''`
ConstexprVariableSuffix | `''`
Пример кода до форматирования:
```cpp
constexpr int get_five() {
return ( 2 + 3 );
};
constexpr int CONST_FIVE = get_five();
```
Пример кода после форматирования:
```cpp
constexpr int get_five() {
return ( 2 + 3 );
};
constexpr int const_five = get_five();
```
### GlobalPointer (Глобальный указатель)
Параметр | Значение
-------------------------------|----------------
GlobalPointerCase | `lower_case`
GlobalPointerPrefix | `''`
GlobalPointerSuffix | `''`
### LocalPointer(Локальный указатель)
Пример кода до форматирования:
```cpp
void* globalPointer;
```
Пример кода после форматирования:
```cpp
void* global_pointer;
```
### LocalPointer (Локальный указатель)
Параметр | Значение
-------------------------------|----------------
LocalPointerCase | `lower_case`
LocalPointerPrefix | `''`
LocalPointerSuffix | `''`
Пример кода до форматирования:
```cpp
void* LocalPointer;
```
Пример кода после форматирования:
```cpp
void* localpointer;
```
### Member (Член) ???
### Member (Член)
### ClassMember (Член класса) ???
### ClassMember (Член класса)
### PrivateMember (Приватный член)
Параметр | Значение
-------------------------------|----------------
PrivateMemberCase | `camelBack`
PrivateMemberPrefix | `'m_'`
PrivateMemberSuffix | `''`
Пример кода до форматирования:
```cpp
class ClassWithPrivateMember {
private:
int PrivateMember;
};
```
Пример кода после форматирования:
```cpp
class ClassWithPrivateMember {
private:
int m_privateMember;
};
```
### PrivateMember (Приватная переменная)
### ProtectedMember (Защищённый член)
Параметр | Значение
-------------------------------|----------------
ProtectedMemberCase | `camelBack`
ProtectedMemberPrefix | `''`
ProtectedMemberSuffix | `''`
Пример кода до форматирования:
```cpp
class ClassWithProtectedMember {
protected:
int ProtectedMember;
};
```
Пример кода после форматирования:
```cpp
class ClassWithProtectedMember {
protected:
int protectedMember;
};
```
### ProtectedMember (Защищённая переменная)
### PublicMember (Публичный член)
Параметр | Значение
-------------------------------|----------------
PublicMemberCase | `camelBack`
PublicMemberPrefix | `''`
PublicMemberSuffix | `''`
### PublicMember (Публичная переменная)
Пример кода до форматирования:
```cpp
class ClassWithPublicMember {
protected:
int PublicMember;
};
```
Пример кода после форматирования:
```cpp
class ClassWithPublicMember {
protected:
int publicMember;
};
```
## Константы
@ -409,37 +525,218 @@ unsigned staticvariable;
### GlobalConstant (Глобальная константа)
Параметр | Значение
-------------------------------|----------------
GlobalConstantCase | `UPPER_CASE`
GlobalConstantPrefix | `''`
GlobalConstantSuffix | `''`
Пример кода до форматирования:
```cpp
const int theOne = 1;
```
Пример кода после форматирования:
```cpp
const int THE_ONE = 1;
```
### LocalConstant (Локальная константа)
Параметр | Значение
-------------------------------|----------------
LocalConstantCase | `UPPER_CASE`
LocalConstantPrefix | `''`
LocalConstantSuffix | `''`
Пример кода до форматирования:
```cpp
int functionWithLocalConstant() {
const int LocalConstant = 0;
return LocalConstant;
}
```
Пример кода после форматирования:
```cpp
int functionWithLocalConstant() {
const int LOCAL_CONSTANT = 0;
return LOCAL_CONSTANT;
}
```
### StaticConstant (Статическая контстанта)
Параметр | Значение
-------------------------------|----------------
StaticConstantCase | `UPPER_CASE`
StaticConstantPrefix | `''`
StaticConstantSuffix | `''`
### ClassConstant (Константа класса)
Пример кода до форматирования:
```cpp
int functionWithStaticConstant() {
const int StaticConstant = 0;
return StaticConstant;
}
```
Пример кода после форматирования:
```cpp
int functionWithStaticConstant() {
const int STATIC_CONSTANT = 0;
return STATIC_CONSTANT;
}
```
### ClassConstant (Константный член)
Параметр | Значение
-------------------------------|----------------
ClassConstantCase | `UPPER_CASE`
ClassConstantPrefix | `''`
ClassConstantSuffix | `''`
Пример кода до форматирования:
```cpp
class ClassWithConstMember {
public:
const int constant_member = 0;
};
```
Пример кода после форматирования:
```cpp
class ClassWithConstMember {
public:
const int CONSTANT_MEMBER = 0;
};
```
### GlobalConstantPointer (Глобальный константный указатель)
Параметр | Значение
-------------------------------|----------------
GlobalConstantPointerCase | `UPPER_CASE`
GlobalConstantPointerPrefix | `''`
GlobalConstantPointerSuffix | `''`
Пример кода до форматирования:
```cpp
void* global_pointer;
void* const GlobalConstPointer = global_pointer;
```
Пример кода после форматирования:
```cpp
void* global_pointer;
void* const GLOBAL_CONST_POINTER = global_pointer;
```
### LocalConstantPointer (Локальный константный указатель)
Параметр | Значение
-------------------------------|----------------
LocalConstantPointerCase | `UPPER_CASE`
LocalConstantPointerPrefix | `''`
LocalConstantPointerSuffix | `''`
Пример кода до форматирования:
```cpp
void* functionWithLocalConstPointer() {
void* pointer = nullptr;
void* const LocalConstPointer = pointer;
return LocalConstPointer;
}
```
Пример кода после форматирования:
```cpp
void* functionWithLocalConstPointer() {
void* pointer = nullptr;
void* const LOCAL_CONST_POINTER = pointer;
return LOCAL_CONST_POINTER;
}
```
### ConstMember (Константный член)
## Функции
### Function (Функция)
### Function (Функция) ??
### GlobalFunction (Глобальная функция)
Параметр | Значение
-------------------------------|----------------
GlobalFunctionCase | `camelBack`
GlobalFunctionPrefix | `''`
GlobalFunctionSuffix | `''`
{: .testtt}
Пример кода до форматирования:
```cpp
int global_function() {
return 0;
}
```
Пример кода после форматирования:
```cpp
int globalFunction() {
return 0;
}
```
### ConstexptFunction (Функция constexpr)
Параметр | Значение
-------------------------------|----------------
ConstexptFunctionCase | `camelBack`
ConstexptFunctionPrefix | `''`
ConstexptFunctionSuffix | `''`
Пример кода до форматирования:
```cpp
constexpr int get_five() {
return ( 5 );
}
```
Пример кода после форматирования:
```cpp
constexpr int getFive() {
return ( 5 );
}
```
### Method (Метод)
@ -626,17 +923,6 @@ class EasyTest {
};
```
Лексическая единица: Регистр имени константной переменной, получающей значение из функции
Параметр: readability-identifier-naming.ConstexprVariableCase
Значение: lower_case
Пример: `const_five`
Пример кода:
```cpp
constexpr int get_five() {
return ( 2 + 3 );
};
constexpr int const_five = get_five();
```
Лексическая единица: Регистр имени перечисления
Параметр: readability-identifier-naming.EnumCase