Qtコードスタイル[翻訳]
4922 ワード
字下げ 4個のスペースを使って字下げします. スペースを使って、Tabを使わないでください. をインデントします.
変数宣言各変数宣言は、別行 を使用する.は、単純化または意味のない名前の使用を避ける(例えば、「a」、「rbarr」、「nughdeget」) 単文字の変数名は、カウントや臨時文字 など、意味が非常にはっきりしているシーンだけで使用できます.変数が必要なときだけ宣言されます. 変数名と方法明は小文字で始まり、後に続く単語の頭文字を大文字にします. 略語を使わないでください. 類の名前は常に大文字で始まる.公開クラスは'Q'で始まり、大文字(QRgb)を迎えます.共通の方法は一般に'q'で始まる. の略語も最初には、QXMLStreamReaderの代わりに、ラクダのピークパターンを使用しています. スペース空行を使用して語句を適切なところに組み合わせる .はいつも空白の行だけを使っています. 常にキーワードの後と大かっこの前にスペースを追加します. は、ポインタや参照に対して、常にタイプと「」または「&」の間に単一のスペースを使用しますが、「」または「&」と変数名の間にスペースがないようにしてください. は、二元演算子の前後にスペースを追加します. タイプ変換キーワードの後にスペースを追加しないでください. Cスタイルのタイプ変換をできるだけ避ける 複数の文を一行に置いてはいけません. 拡張により、制御フロー文の本体に新しい行を使用します.(元の文:By extension、use a new line for the body of a control flow statement:) は、タイトな括弧を使用しています.括弧は声明の先頭と同じ行にあります.右大かっこの後にもう一つのキーワードがある場合は、行にも入れます. 例外:関数実装(ただし、lamban表現ではない)とクラス宣言は常に新しい行の先頭に左括弧を追加します. は、条件文の本体が複数行を含む場合のみ、かっこを使用する. 例外1:親文に複数行/改行が含まれている場合は、大かっこも使用されます. 例外2:括弧対称性:if-then-elseブロックに大括弧を使用し、ifの本体またはelseの本体がいくつあるかに関わらず: 条件文の本体が空の場合は、かっこ を使用する.式を小かっこでグループ化する: caseキーワードとswitchは同じ列 にあります.各caseは最後に一つのbreak(またはreturn)の文を持っていなければなりません.またはQ_を使ってください.FALLTHROUGH()は、後に続く別のcaseの内容でない限り、意図的に中断しないことを示す. .ジャンプ文の後ろにelseを置かないでください. 例外:コード自体が対称であれば、elseを使用して対称性を表示することができる.
行をかえる は1行が100文字未満であることを保持する.必要があれば行を折ります. コメント/appidoc行は、実際のテキストの80列以下に維持されるべきである.周囲の内容に合わせて調整し、「ギザギザ」段落を避ける方式(Comment/appoc lineas shound be kept below 80 columns of actual text.Adjust to the surround ings,and try to flow the text in a way ath avoid「jaged」paragrapps.24792)
カンマは折れた行末にあり、操作子は新行の行頭にあります.オペレータは行末に隠しやすいです.エディタが狭いと. ルールを厳守するとコードが悪く見えます. を守らないでください.
スタイルアート
下記のコードスタイルを使ってコードを芸術的にします.
変数宣言
//
int a, b;
char *c, *d;
//
int height;
int width;
char *nameOfThis;
char *nameOfThat;
//
short Cntr;
char ITEM_DELIM = ' ';
//
short counter;
char itemDelimiter = ' ';
//
if(foo){
}
//
if (foo) {
}
char *x;
const QString &myString;
const char * const y = "hello";
//
char* blockOfMemory = (char* ) malloc(data.size());
//
char *blockOfMemory = reinterpret_cast(malloc(data.size()));
//
if (foo) bar();
//
if (foo)
bar();
大かっこ //
if (codec)
{
}
else
{
}
//
if (codec) {
} else {
}
static void foo(int g)
{
qDebug("foo: %i", g);
}
class Moo
{
};
//
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);
//
if (address.isEmpty() || !isValid()
|| !codec) {
return false;
}
//
if (address.isEmpty())
qDebug("empty!");
else {
qDebug("%s", qPrintable(address));
it;
}
//
if (address.isEmpty()) {
qDebug("empty!");
} else {
qDebug("%s", qPrintable(address));
it;
}
//
if (a)
…
else
if (b)
…
//
if (a) {
…
} else {
if (b)
…
}
//
while (a);
//
while (a) {}
小かっこ //
if (a && b || c)
//
if ((a && b) || c)
//
a + b & c
//
(a + b) & c
switch文 switch (myEnum) {
case Value1:
doSomething();
break;
case Value2:
case Value3:
doSomethingElse();
Q_FALLTHROUGH();
default:
defaultHandling();
break;
}
ジャンプ文(break、continue、return、and goto) //
if (thisOrThat)
return;
else
somethingElse();
//
if (thisOrThat)
return;
somethingElse();
行をかえる
//
if (longExpression +
otherLongExpression +
otherOtherLongExpression) {
}
//
if (longExpression
+ otherLongExpression
+ otherOtherLongExpression) {
}
一般例外スタイルアート
下記のコードスタイルを使ってコードを芸術的にします.
--style=kr
--indent=spaces=4
--align-pointer=name
--align-reference=name
--convert-tabs
--attach-namespaces
--max-code-length=100
--max-instatement-indent=120
--pad-header
--pad-oper
「無制限」であるmax-innstatement-inndentはastyleにのみ使用されます.後続の行がインデント制限が必要であれば、astyleは最初のパラメータを包装するために知能が足りません.ステートメントの中に手動で制限することを推奨します.50列ぐらいの列です. int foo = some_really_long_function_name(and_another_one_to_drive_the_point_home(
first_argument, second_argument, third_arugment));
公式テキストリンク