Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コーディング規約の字下げスタイル #18

Open
namachan10777 opened this issue Oct 17, 2018 · 3 comments
Open

コーディング規約の字下げスタイル #18

namachan10777 opened this issue Oct 17, 2018 · 3 comments
Labels
enhancement New feature or request 回路

Comments

@namachan10777
Copy link
Member

ブロック

以下の3つから投票を取ります。
ホワイトスミススタイル等を推す場合はコメントでお願いします。

K&R

if (cond) {
} else {
}

BSD

if (cond)
{
}
else 
{
}

Visual Studio

if (cond) {
}
else {
}

括弧前後の空白

個人的にはKNFスタイルが最も見やすいと思うのでこれを標準にしたいです。
ifやwhile等制御文と括弧の間には空白、関数と引数の括弧の間の空白は無し(定義、宣言、使用全て同様)

KNF

if (cond) {
}

void func() {
}

二項演算子の前後空白

空白は必須にしたいです。

auto x = 1 + 1;
if ((a == b) && (c != d)) {
}

配列、引数等の展開

最後のとじ括弧

改行あり

auto x = [
    1,
    2,
    3
];
dosomething(
    1,
    2,
    3
);

改行無し

auto x = [
    1,
    2,
    3];
dosomething(
    1,
    2,
    3);

セパレータ位置

先頭が不人気になりそうなので予め弁護しておくと、Cでは配列等の最後にカンマが来ることを認めていない為セパレータを行末に持ってくると、要素を追加してdiffを取った時に追加行とその前の行まで変更されたとされてしまいます。

先頭

auto x = [
    1
    ,2
    ,3
];

行末

auto x = [
    1,
    2,
    3
];

インデント

空白2文字

if (cond) {
  do();
  while(true) {
    do();
  }
}

空白4文字

if (cond) {
    do();
    while(true) {
        do();
    }
}

ハードタブ

(省略)

@namachan10777 namachan10777 added the enhancement New feature or request label Oct 17, 2018
@namachan10777
Copy link
Member Author

namachan10777 commented Oct 17, 2018

回答テンプレート

ブロック

%s

配列、引数等の展開

%s

セパレータ位置

%s

インデント

%s

その他、提案

@ioComk
Copy link
Contributor

ioComk commented Oct 17, 2018

ブロック

BSD or Visual Studio

配列、引数等の展開

改行あり

セパレータ位置

行末

インデント

空白2文字

その他、提案

@namachan10777
Copy link
Member Author

namachan10777 commented Oct 17, 2018

ブロック

Visual Studio

配列、引数等の展開

改行あり

セパレータ位置

行末

インデント

空白4文字

その他、提案

@namachan10777 namachan10777 removed their assignment Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 回路
Projects
None yet
Development

No branches or pull requests

9 participants