コーディングスタイル。
基本的に自分のコーディングスタイル(というか空白や改行の入れ方)は言語によらず、K&Rがベースなんだけど、関数の{}についてはなぜか
なのだった。サンプルコードを自分のソースに取り込んだ時も、暇があれば↑に直しちゃうので、なぜ
void func() {
}
が良いのかが正直、分からない。じゃあなぜ前者が良いのかと問われても、10年以上そのスタイルだとそうじゃないと気持ち悪いから、程度の理由しかないのだけど。あ。いや、たぶん、
void func()
{
}
って書くときのカッコの位置に合わせたい、という意識はあると思う。結局、慣れと好みの問題かと思うけど、そうじゃないのだろうか...?
if (hoge) {
} else {
}
あと、
これは確かに昔、代入と比較でミスった記憶があるけど、もうずいぶんこのミスはやらかしてないので*1、個人的には前者で良いかな〜、っという気もする*2。でも、フェイルセーフとゆ〜観点だと後者のが良いのは分かるな。
if(hoge == 1)
これはダメ。絶対
if(1 == hoge)
こう。
最後の、
は、実践してます。便利。教えてもらったのは、当のid:sasayuki氏だった気もするけど。
if("".equals(hoge))
Javaのコーディングにおいて、何がイヤかと言えば、NullPointerExceptionを避けようとすると、どうしてもifのブロックが深くなっちゃう点。それが一段浅くできるだけでも、十分ウレシイ。
まあ、C(C++)の場合、NullPointerExceptionどころかアプリが落ちる可能性があるし、NullPointerExceptionもありがたいのだけど、Perlに慣れるとNullPointerExceptionチェックのためにロジックが読みにくくなってる気がして。*3
あと、細かい点では、ワシの場合、ifとカッコの間のスペースは必須*4なんだけどネ。:-)