こんな疑問にお答えします。
記事の内容
- if(0)、if(1)はどういう時に使うのか
- if(0)、if(1)を使う理由
C言語・C++でif(0)、if(1)を使うタイミングと利点
デバッグコード
動作確認(デバッグ)用のコードを後の人のために残しておくのに使っていました。
例:
#include <stdio.h> void main() { int a=1,b=2,area; if(0) printf("a=%d,b=%d\n",a,b); //デバッグ時だけif(1)にする area=a*b; printf("area=%d",area) //必要なデータ }
実行結果
area=2
普段はデバッグコードを使わないようにif(0)としておきますが、aとbに代入された値を確認したい時だけif(1)にします。このようにデバッグコードを使うか否かを簡単に切り替えられて便利です。
複数人で開発していると後から別の人がコードを参考にしたり、一部付け加えたりすることがよくあります。その際に前の人がデバッグコードを残してくれていると助かることがあります。
例では簡単なコードを挙げましたが複雑なプログラムではデバッグコードも複雑になりがちなので残す価値があります。
デバッグコードを何でもかんでも残してしまうとコードが汚くなってしまうので「デバッグに必要だけどまた書くのはおっくう」というコードだけを残すようにするといいと思います。
else ifの見栄えを良くする
else ifが連なる文だとコードを見やすくするためにif(0)を使うことがあります。
例:
#include <stdio.h> void main() { int a=1,b=1; if(0){} else if(a==0) printf("a=0\n"); //揃っていて見やすい else if(a==1) printf("a=1\n"); else if(a==2) printf("a=2\n"); if(b==0) printf("b=0\n"); //ずれて見にくい else if(b==1) printf("b=1\n"); else if(b==2) printf("b=2\n"); }
実行結果
a=1
b=1
前半の方が揃って見やすいのではないでしょうか。プログラム動作は同じなのですが、後からでもわかりやすいコードを書くための工夫です。
こう思う方もいらっしゃるかもしれませんし、おっしゃる通りです。しかし「if(0)を使った方がより揃って見えるからそっちにしたい」と思う方もいらっしゃいます。
結局どっちの書き方でもいいです。見やすくすることが最終目的なのでそのためにどんな手段を取るかは人それぞれというわけです。
まとめ:見やすいコード
コーディングに当たって大事なことの1つが見やすいコードを書くことです。見やすければ早く解読できて残業時間を減らせます。逆に、コードがめちゃくちゃ見にくいとイラっとするはずです(経験あり)。
複数人で開発しているときはもちろんですが、1人で開発していても未来の自分のために見やすいコードを心がけてコーディングすることをおすすめします。