てきとうなメモ

本の感想とか技術メモとか

if文の中括弧

コーディングスタイル論争「カッコを省略するな」が出るたびに思う事

私はコーディング規約で決まっていなければ括弧は使わない派かな。

中括弧を使わないと

if (cond)
  statement;

と書いていた時に、条件分岐中の処理を増やそうとして

if (cond)
  statement;
  statement;

と書いてしまうと想定していない動作をしてしまう。

中括弧をつけると確かにミスしづらくなるとは思うのだが、基本的に中括弧を付けなかった側の問題ではなく、修正時に中括弧を追加しなかった側の問題なので、修正時に気をつける話だと思う。if文の構文規則はマイナーなものではないので、この規則が頭に入っていないのは問題だろう。

あと、

if (cond) return 0;

とか

for (...) {
  if (cond) break;
}

とかガード節は条件分岐の中で文を追加することはありえないので、そもそも括弧で囲む必要性はない。