Qt Coding Style/ja
From Qt Wiki
日本語EnglishSpanish简体中文Русский
Contents
Qt コーディングスタイル
これは Qt のコードを書く際に私たちが使用しているコーディング規約の概要です。ここにある情報は Qt のソースやフォーラム・メーリングリスト上の議論、開発者同士のコラボレーションに基づいています。
インデント
- インデントは 4 つの空白である
- タブではなく空白を使用する
変数の宣言
- 変数の宣言は 1 行に 1 つのみ
- 出来る限り短い変数名は避ける("a", "rbarr", "nughdeget" など)
- 一文字の変数名は、カウンタや一時変数で使用目的が明白である場合に限り認められる
- 本当に必要になるまで変数の宣言はしない
// 間違い
int a, b;
char *c, *d;
// 正しい
int height;
int width;
char *nameOfThis;
char nameOfThat;
変数名と関数名は小文字から始まり、名前の中の各単語は大文字から始まる
- 短縮形は避ける
// 間違い
short Cntr;
char ITEM_DELIM = ;
// 正しい
short counter;
char itemDelimiter = ;
- クラス名は常に大文字から始まる。パブリックなクラスは Q から始まる(QRgb)。パブリックな関数は大抵の場合 q で始まる(qRgb)。
空白
- 処理を適切にまとめるために空白行を使う
- 空白行を 1 行以上続けない
- キーワードの後と波括弧の前には空白を 1 つ入れる
// 間違い
if(foo){
}
// 正しい
if (foo) {
}
- ポインタや参照においては、型名と * または & の間には空白を入れる。変数名と * または & の間には空白は入れない。
char x;
const QString &myString;
const char const y = "hello";
- ビット演算子の前後には空白をいれる
- キャストの後には空白を入れない
- C スタイルのキャストは可能な限り避ける
// 間違い
char* blockOfMemory = (char* ) malloc(data.size());
// 正しい
char blockOfMemory = reinterpret_cast<char>(malloc(data.size()));
波括弧
- 基本的に、左波括弧はステートメントの開始行に置く
// 間違い
if (codec)
{
}
// 正しい
if (codec) {
}
- 例外:関数の実装とクラスの宣言では左括弧は常に新しい行の初めに置く
static void foo(int g)
{
qDebug("foo: %i", g);
}
class Moo
{
};
- 条件文では、内部の処理が 1 行を超える場合、または 1 行の処理が複雑な場合のみ、波括弧を使用する
// 間違い
if (address.isEmpty()) {
return false;
}
for (int i = 0; i < 10; +i) {
qDebug("%i", i);
}
// 正しい
if (address.isEmpty())
return false;
for (int i = 0; i < 10;i)
qDebug("%i", i);
- 例外1:条件式が複数にまたがる場合は波括弧を使用する
// 正しい
if (address.isEmpty() || !isValid()
!codec) {
return false; }
丸括弧
switch 文
改行
継承と virtual キーワード
例外
|