Qt 代码风格
最后更新于:2022-04-02 02:08:18
[TOC]
> [官方代码格式](https://wiki.qt.io/Qt_Coding_Style)
## 缩进
1. 4 个 spaces的缩进
2. Spaces, not tabs!
## 声明变量
1. 每个变量一行
2. 避免简短或无意义的名字
```
// Wrong
int a, b;
char *c, *d;
// Correct
int height;
int width;
char *nameOfThis;
char *nameOfThat;
```
3. 变量和函数以小写字母开头。变量名称中的每个连续单词都以大写字母开头
```
// Wrong
short Cntr;
char ITEM_DELIM = ' ';
// Correct
short counter;
char itemDelimiter = ' ';
```
4. 类以大写字母开头的大驼峰写法
## 空白
1. 在关键字之后和花括号之前总是使用一个空格
```
// Wrong
if(foo){
}
// Correct
if (foo) {
}
```
2. 对于指针或引用,总是在类型和'*'或'&'之间使用单个空格,但在'*'或'&'和变量名之间不使用空格
```
char *x;
const QString &myString;
const char * const y = "hello";
```
3. 在每个逗号后面留一个空格
4. 尽可能避免c风格的类型转换
```
// Wrong
char* blockOfMemory = (char* ) malloc(data.size());
// Correct
char *blockOfMemory = reinterpret_cast(malloc(data.size()));
```
5. 不要把多个语句放在一行上
```
// Wrong
if (foo) bar();
// Correct
if (foo)
bar();
```
## else 语句
```
// Wrong
if (codec)
{
}
else
{
}
// Correct
if (codec) {
} else {
}
```
## 条件语句体不止一行时菜使用大括号
```
// Wrong
if (address.isEmpty()) {
return false;
}
for (int i = 0; i < 10; ++i) {
qDebug("%i", i);
}
// Correct
if (address.isEmpty())
return false;
for (int i = 0; i < 10; ++i)
qDebug("%i", i);
```
## 表达式使用括号
```
// Wrong
if (a && b || c)
// Correct
if ((a && b) || c)
// Wrong
a + b & c
// Correct
(a + b) & c
```
## 多条件
```
// Wrong
if (longExpression +
otherLongExpression +
otherOtherLongExpression) {
}
// Correct
if (longExpression
+ otherLongExpression
+ otherOtherLongExpression) {
}
```92
';