全部博文(19)
分类: C/C++
2011-09-30 11:42:21
这是我们编写Qt代码时所使用的编码惯例的一个概述。数据是通过挖掘Qt源码、论坛、邮件列表以及与开发者的协作而收集起来的。
缩进1 2 3 4 5 6 7 8 9 | // Wrong int a, b; char *c, *d; // Correct int height; int width; char *nameOfThis; char *nameOfThat; |
1 2 3 4 5 6 7 | // Wrong short Cntr; char ITEM_DELIM = '\t'; // Correct short counter; char itemDelimiter = '\t'; |
1 2 3 4 5 6 7 | // Wrong if(foo){ } // Correct if (foo) { } |
1 2 3 | char *x; const QString &myString; const char * const y = "hello"; |
1 2 3 4 5 | // Wrong char* blockOfMemory = (char* ) malloc(data.size()); // Correct char *blockOfMemory = reinterpret_cast |
1 2 3 4 5 6 7 8 | // Wrong if (codec) { } // Correct if (codec) { } |
1 2 3 4 5 6 7 8 | static void foo(int g) { qDebug("foo: %i", g); } class Moo { }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // 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); |
1 2 3 4 5 | // Correct if (address.isEmpty() || !isValid() || !codec) { return false; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | // Wrong if (address.isEmpty()) return false; else { qDebug("%s", qPrintable(address)); ++it; } // Correct if (address.isEmpty()) { return false; } else { qDebug("%s", qPrintable(address)); ++it; } // Wrong if (a) if (b) ... else ... // Correct if (a) { if (b) ... else ... } |
1 2 3 4 5 | // Wrong while (a); // Correct while (a) {} |
1 2 3 4 5 6 7 8 9 10 11 | // Wrong if (a && b || c) // Correct if ((a && b) || c) // Wrong a + b & c // Correct (a + b) & c |
1 2 3 4 5 6 7 8 9 10 11 | switch (myEnum) { case Value1: doSomething(); break; case Value2: doSomethingElse(); // fall through default: defaultHandling(); break; } |
1 2 3 4 5 6 7 8 9 10 11 | // Correct if (longExpression + otherLongExpression + otherOtherLongExpression) { } // Wrong if (longExpression + otherLongExpression + otherOtherLongExpression) { } |