Text
This commit is contained in:
parent
324f564aeb
commit
7c64668e7f
@ -1,16 +1,17 @@
|
||||
---
|
||||
title: "Проверка именования в Clang Tidy"
|
||||
title: "Проверка именования в clang-tidy"
|
||||
category: Программирование
|
||||
tags: C++, программирование, clang, clang-tidy, форматирование,
|
||||
summary:
|
||||
CSS: table-100.css
|
||||
CSS: table-100.css, clang-table.css
|
||||
toc: yes
|
||||
...
|
||||
|
||||
[TOC]
|
||||
|
||||
Программа Clang Tidy может проверить стилистику регистра идентификаторов,
|
||||
а также их префиксы и суффиксы. Возможные варианты стилей:
|
||||
Программа [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) может
|
||||
проверить стилистику регистра идентификаторов, а также их префиксы и суффиксы.
|
||||
Возможные варианты стилей:
|
||||
|
||||
```
|
||||
lower_case
|
||||
@ -22,6 +23,9 @@ Camel_Snake_Case
|
||||
aNy_CasE
|
||||
```
|
||||
|
||||
Перечень вариантов идентификаторов приведён
|
||||
[здесь](https://clang.llvm.org/extra/clang-tidy/checks/readability-identifier-naming.html).
|
||||
|
||||
Для включения проверки именования идентификаторов нужно в находящемся
|
||||
в корне проекта файле `.clang-tidy` включить данный тип диагностики (опция
|
||||
`clang-diagnostic-*,readability-identifier-naming`), а затем указать
|
||||
@ -54,21 +58,21 @@ AbstractClassCase | `CamelCase`
|
||||
AbstractClassPrefix | `''`
|
||||
AbstractClassSuffix | `''`
|
||||
|
||||
Пример кода до форматирования (было `ABSTRACT_CLASS`):
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
class ABSTRACT_CLASS {
|
||||
public:
|
||||
ABSTRACT_CLASS();
|
||||
public:
|
||||
ABSTRACT_CLASS();
|
||||
};
|
||||
```
|
||||
|
||||
Пример кода после форматирования (стало `AbstractClass`):
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
class AbstractClass {
|
||||
public:
|
||||
AbstractClass();
|
||||
public:
|
||||
AbstractClass();
|
||||
};
|
||||
```
|
||||
|
||||
@ -80,13 +84,14 @@ ClassCase | `CamelCase`
|
||||
ClassPrefix | `''`
|
||||
ClassSuffix | `''`
|
||||
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
class TEST_CLASS {
|
||||
public:
|
||||
TEST_CLASS();
|
||||
~TEST_CLASS();
|
||||
public:
|
||||
TEST_CLASS();
|
||||
~TEST_CLASS();
|
||||
};
|
||||
```
|
||||
|
||||
@ -94,9 +99,9 @@ public:
|
||||
|
||||
```cpp
|
||||
class TestClass {
|
||||
public:
|
||||
TestClass();
|
||||
~TestClass();
|
||||
public:
|
||||
TestClass();
|
||||
~TestClass();
|
||||
};
|
||||
```
|
||||
|
||||
@ -112,7 +117,7 @@ StructSuffix | `''`
|
||||
|
||||
```cpp
|
||||
struct TEST_struct {
|
||||
int a;
|
||||
int a;
|
||||
};
|
||||
|
||||
```
|
||||
@ -121,7 +126,7 @@ struct TEST_struct {
|
||||
|
||||
```cpp
|
||||
struct TestStruct {
|
||||
int a;
|
||||
int a;
|
||||
};
|
||||
```
|
||||
|
||||
@ -137,8 +142,8 @@ UnionSuffix | `''`
|
||||
|
||||
```cpp
|
||||
union TEST_union {
|
||||
int a;
|
||||
char b;
|
||||
int a;
|
||||
char b;
|
||||
};
|
||||
```
|
||||
|
||||
@ -146,8 +151,8 @@ union TEST_union {
|
||||
|
||||
```cpp
|
||||
union TestUnion {
|
||||
int a;
|
||||
char b;
|
||||
int a;
|
||||
char b;
|
||||
};
|
||||
```
|
||||
|
||||
@ -162,13 +167,13 @@ EnumSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
enum TEST_enum { One, Two };
|
||||
enum TEST_enum { ONE, TWO };
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
enum TestEnum { One, Two };
|
||||
enum TestEnum { ONE, TWO };
|
||||
```
|
||||
|
||||
|
||||
@ -183,7 +188,7 @@ EnumConstantSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
enum TestEnum { one, two };
|
||||
enum TestEnum { one, TWO };
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
@ -258,13 +263,19 @@ TypeAliasSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
struct MyStructure {
|
||||
int a;
|
||||
};
|
||||
using MY_STRUCT_TYPE = MyStructure;
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
using my_struct_type = MyStructure;
|
||||
struct MyStructure {
|
||||
int a;
|
||||
};
|
||||
using MyStructType = MyStructure;
|
||||
```
|
||||
|
||||
### Typedef (Объявление типа)
|
||||
@ -351,13 +362,19 @@ StatucVariableSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
static unsigned Static_Variable;
|
||||
int functionWithStaticVariable() {
|
||||
static int StaticVariable = 0;
|
||||
return StaticVariable;
|
||||
}
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
static unsigned staticVariable;
|
||||
int functionWithStaticVariable() {
|
||||
static int staticVariable = 0;
|
||||
return staticVariable;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@ -372,19 +389,13 @@ ConstexprVariableSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
constexpr int get_five() {
|
||||
return ( 2 + 3 );
|
||||
};
|
||||
constexpr int CONST_FIVE = get_five();
|
||||
constexpr int CONST_FIVE = 5;
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
constexpr int get_five() {
|
||||
return ( 2 + 3 );
|
||||
};
|
||||
constexpr int const_five = get_five();
|
||||
constexpr int const_five = 5;
|
||||
```
|
||||
|
||||
|
||||
@ -419,20 +430,74 @@ LocalPointerSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
void* LocalPointer;
|
||||
void* function() {
|
||||
void* LocalPointer = nullptr;
|
||||
return LocalPointer;
|
||||
}
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
void* localpointer;
|
||||
void* function() {
|
||||
void* localPointer = nullptr;
|
||||
return localPointer;
|
||||
}
|
||||
```
|
||||
|
||||
### Member (Член) ???
|
||||
|
||||
|
||||
### ClassMember (Член класса) ???
|
||||
### ClassMember (Член класса)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ClassMemberCase | `camelBack`
|
||||
ClassMemberPrefix | `''`
|
||||
ClassMemberSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithClassMember {
|
||||
public:
|
||||
static int CLASS_MEMBER;
|
||||
};
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithClassMember {
|
||||
public:
|
||||
static int classMember;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
### ConstantMember (Константный член)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ConstantMemberCase | `lower_case`
|
||||
ConstantMemberPrefix | `''`
|
||||
ConstantMemberSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithConstantMember {
|
||||
char const ConstMember[4] = "123";
|
||||
};
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithConstantMember {
|
||||
char const const_member[4] = "123";
|
||||
};
|
||||
```
|
||||
|
||||
### PrivateMember (Приватный член)
|
||||
|
||||
@ -446,8 +511,8 @@ PrivateMemberSuffix | `''`
|
||||
|
||||
```cpp
|
||||
class ClassWithPrivateMember {
|
||||
private:
|
||||
int PrivateMember;
|
||||
private:
|
||||
int PrivateMember;
|
||||
};
|
||||
```
|
||||
|
||||
@ -455,8 +520,8 @@ private:
|
||||
|
||||
```cpp
|
||||
class ClassWithPrivateMember {
|
||||
private:
|
||||
int m_privateMember;
|
||||
private:
|
||||
int m_privateMember;
|
||||
};
|
||||
```
|
||||
|
||||
@ -473,8 +538,8 @@ ProtectedMemberSuffix | `''`
|
||||
|
||||
```cpp
|
||||
class ClassWithProtectedMember {
|
||||
protected:
|
||||
int ProtectedMember;
|
||||
protected:
|
||||
int ProtectedMember;
|
||||
};
|
||||
```
|
||||
|
||||
@ -482,8 +547,8 @@ protected:
|
||||
|
||||
```cpp
|
||||
class ClassWithProtectedMember {
|
||||
protected:
|
||||
int protectedMember;
|
||||
protected:
|
||||
int protectedMember;
|
||||
};
|
||||
```
|
||||
|
||||
@ -500,8 +565,8 @@ PublicMemberSuffix | `''`
|
||||
|
||||
```cpp
|
||||
class ClassWithPublicMember {
|
||||
protected:
|
||||
int PublicMember;
|
||||
public:
|
||||
int PublicMember;
|
||||
};
|
||||
```
|
||||
|
||||
@ -509,15 +574,35 @@ protected:
|
||||
|
||||
```cpp
|
||||
class ClassWithPublicMember {
|
||||
protected:
|
||||
int publicMember;
|
||||
public:
|
||||
int publicMember;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
## Константы
|
||||
|
||||
### Constant (Константа)
|
||||
|
||||
### Constant (Константа) ???
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ConstantCase | `UPPER_CASE`
|
||||
ConstantPrefix | `''`
|
||||
ConstantSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
const int theOne = 1;
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
const int THE_ONE = 1;
|
||||
```
|
||||
|
||||
|
||||
|
||||
### GlobalConstant (Глобальная константа)
|
||||
@ -594,7 +679,7 @@ int functionWithStaticConstant() {
|
||||
}
|
||||
```
|
||||
|
||||
### ClassConstant (Константа класс)
|
||||
### ClassConstant (Константа класса)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
@ -605,18 +690,18 @@ ClassConstantSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithConstMember {
|
||||
public:
|
||||
static int const constant_member = 0;
|
||||
class ClassWithClassConstant {
|
||||
public:
|
||||
static int const Class_Constant = 0;
|
||||
};
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
class ClassWithConstMember {
|
||||
public:
|
||||
static int const CONSTANT_MEMBER = 0;
|
||||
class ClassWithClassConstant {
|
||||
public:
|
||||
static int const CLASS_CONSTANT = 0;
|
||||
};
|
||||
```
|
||||
|
||||
@ -624,7 +709,7 @@ class ClassWithConstMember {
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
GlobalConstantPointerCase | `UPPER_CASE`
|
||||
GlobalConstantPointerCase | `lower_case`
|
||||
GlobalConstantPointerPrefix | `''`
|
||||
GlobalConstantPointerSuffix | `''`
|
||||
|
||||
@ -639,7 +724,7 @@ void* const GlobalConstPointer = global_pointer;
|
||||
|
||||
```cpp
|
||||
void* global_pointer;
|
||||
void* const GLOBAL_CONST_POINTER = global_pointer;
|
||||
void* const global_const_pointer = global_pointer;
|
||||
```
|
||||
|
||||
|
||||
@ -647,7 +732,7 @@ void* const GLOBAL_CONST_POINTER = global_pointer;
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
LocalConstantPointerCase | `UPPER_CASE`
|
||||
LocalConstantPointerCase | `camelBack`
|
||||
LocalConstantPointerPrefix | `''`
|
||||
LocalConstantPointerSuffix | `''`
|
||||
|
||||
@ -666,16 +751,12 @@ void* functionWithLocalConstPointer() {
|
||||
```cpp
|
||||
void* functionWithLocalConstPointer() {
|
||||
void* pointer = nullptr;
|
||||
void* const LOCAL_CONST_POINTER = pointer;
|
||||
return LOCAL_CONST_POINTER;
|
||||
void* const localConstPointer = pointer;
|
||||
return localConstPointer;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### ConstMember (Константный член)
|
||||
|
||||
|
||||
|
||||
|
||||
## Функции
|
||||
|
||||
@ -730,14 +811,14 @@ int globalFunction() {
|
||||
```
|
||||
|
||||
|
||||
### ConstexptFunction (Функция constexpr)
|
||||
### ConstexprFunction (Функция constexpr)
|
||||
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ConstexptFunctionCase | `camelBack`
|
||||
ConstexptFunctionPrefix | `''`
|
||||
ConstexptFunctionSuffix | `''`
|
||||
ConstexprFunctionCase | `camelBack`
|
||||
ConstexprFunctionPrefix | `''`
|
||||
ConstexprFunctionSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
@ -759,7 +840,7 @@ constexpr int getFive() {
|
||||
### Method (Метод) ???
|
||||
|
||||
|
||||
### ClassMethod (Метод класса) ???
|
||||
### ClassMethod (Метод класса)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
@ -905,6 +986,7 @@ PublicMethodSuffix | `''`
|
||||
class ClassWithPublicMethod {
|
||||
public:
|
||||
int get_int() { return 0; };
|
||||
};
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
@ -965,7 +1047,7 @@ char returnChar(const char return_Value) {
|
||||
|
||||
```cpp
|
||||
char returnChar(const char returnValue) {
|
||||
return return_Value;
|
||||
return returnValue;
|
||||
};
|
||||
```
|
||||
|
||||
@ -994,8 +1076,6 @@ void* returnVoid(void* const returnValue) {
|
||||
};
|
||||
```
|
||||
|
||||
### ParameterPack (Список параметров)
|
||||
|
||||
### PointerParameter (Параметр типа указатель)
|
||||
|
||||
Параметр | Значение
|
||||
@ -1020,6 +1100,10 @@ void* returnPtr(void* returnValue) {
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
## Шаблоны
|
||||
|
||||
|
||||
### TemplateParameter (Параметр шаблона)
|
||||
|
||||
Параметр | Значение
|
||||
@ -1031,7 +1115,7 @@ TemplateParameterSuffix | `''`
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
template<typename TType>int tFunction(TType t_value) {
|
||||
template<typename TType> int tFunction(TType t_value) {
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
@ -1039,14 +1123,54 @@ template<typename TType>int tFunction(TType t_value) {
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
template<typename TType>int tFunction(TType tValue) {
|
||||
template<typename TType> int tFunction(TType tValue) {
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### ParameterPack (Список параметров шаблона)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ParameterPackCase | `camelBack`
|
||||
ParameterPackPrefix | `''`
|
||||
ParameterPackSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
template<class ... Types> void f(Types ... Parameters_Pack);
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
template<class ... Types> void f(Types ... parametersPack);
|
||||
```
|
||||
|
||||
|
||||
### TemplateTemplateParameter (Параметр шаблона шаблона)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
TemplateTemplateParameterCase | `camelBack`
|
||||
TemplateTemplateParameterPrefix| `''`
|
||||
TemplateTemplateParameterSuffix| `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
template<template<class T> class TPL_TPL_Parameter>
|
||||
class AllmightyClass { };
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
template<template<class T> class tplTplParameter>
|
||||
class AllmightyClass { };
|
||||
```
|
||||
|
||||
|
||||
### TypeTemplateParameter (Типа параметра шаблона)
|
||||
@ -1074,7 +1198,27 @@ template<typename TType>int tFunction(TType value) {
|
||||
```
|
||||
|
||||
|
||||
|
||||
### ValueTemplateParameter (Значение параметра шаблона)
|
||||
|
||||
Параметр | Значение
|
||||
-------------------------------|----------------
|
||||
ValueTemplateParameterCase | `camelBack`
|
||||
ValueTemplateParameterPrefix | `''`
|
||||
ValueTemplateParameterSuffix | `''`
|
||||
|
||||
Пример кода до форматирования:
|
||||
|
||||
```cpp
|
||||
template<typename TType, int arg_count> int tFunction(TType tValue) {
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
Пример кода после форматирования:
|
||||
|
||||
```cpp
|
||||
template<typename TType, int argCount> int tFunction(TType tValue) {
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
|
12
wiki/css/clang-table.css
Normal file
12
wiki/css/clang-table.css
Normal file
@ -0,0 +1,12 @@
|
||||
table {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
width: 50%;
|
||||
padding: 5px;
|
||||
text-align: left;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
tr:hover {background-color:#f5f5f5;}
|
Loading…
Reference in New Issue
Block a user