「カッコを省略」でひどい目にあうと、「カッコを省略するな」教になるのは当然

  • 投稿 : 2014-08-12
この括弧は基本的にはつけますが、中の実行コードが1つだけの場合は省略することができるのです。以下のように省略できます。

if($a==2)
echo $a;
else
echo '3';

(cache) 保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog

記事の最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)
で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。
コーディングスタイル論争「カッコを省略するな」が出るたびに思う事

・技術力が低い人が混ざっている場合は、コーディングルールで、カッコをつけるの必須にしたほうがよいと思う
・英語ができない日本人プログラマーは、カッコをつけたほうがよいのではと思う
・すごいエンジニアが、カッコを使わないクールな書き方をしてるからといって、それはそれ

「カッコを省略するな」教が、意外と日本のサラリーマン業界では多いとおもうんだけど、逆に、それがますます、カッコを省略されたときの落とし穴に気づかない人たちが増えているような気がする。だって、普段はそんなの気にしないから。

それはともかく、「カッコを省略しなくてはいけない」というコーディングルールがない限り、カッコをつけるようにしておいたほうが、ひどい目に合いにくいし、いろんな人から恨まれたりしにくいので、そうしておいた方がよいと思うよ。

普通レベルや、周りから一目もおかれていないプログラマーがカッコをつけてなかったら、僕は非難すると思う。じゃぁ、なぜ、一目置かれているプログラマーには言わないのか?というと、何をいっても、主義主張を変えさせることは無理で、おまけにそういう人は、自分よりもすごい人の話しかマトモに聞かないから。

ということで、プロジェクトのコーディングルールという形で、そういうエンジニアを縛ってしまうしかないですね。で、こんな「コーディングルール」はおかしいと、抵抗するエンジニアはいろいろいうし、ネットでも見かけるけど、そこでストレス発散してと個人的には思う。

そんな「コーディングルール」を採用するプロジェクトでは働けないとかまでは、日本では無理なんじゃないかなと思う。もしそういう人たちがおおくなれば、当然そんなルールは撤回されます。

要は、何が正しいか?でなくて、誰がつよいか?の話になってしまっているんです。

iOSでもミスってるよ?!


パワー合戦を使った引用操作で、主張を通そうとする人たちがいるので、こういう事例も知っておいたほうがよいかも。

こんなのやられたら、サラリーマンエンジニアで迷惑かけられたら、怒り心頭気味になると思う。

どんなにクールですごいエンジニアがやっている行為でも、それがベストの方法かどうかは別だと思う。

最近は知らないけど

i=i++;
i=++i;

上記のようなのと似てるんじゃないかなと思う。
間違わないように、啓もう活動するよりも、そんな書き方辞めさせた方が、早いのに決まっている・・・
というだけの話かなと思う。

人間は、自然言語よりのほうが理解しやすい、ミスしにくい傾向にあると思う。
しかしですね、機械言語よりのほうが、クールに見えたりするんですね。

あと、すごい系のエンジニアは、頭の構造が完全に、プログラミング言語とかに最適化されてると思うので、自然言語に近いとか関係なく、逆に自然言語に近いほうが思考を邪魔される可能性さえあるのかも。

カッコをつけなくていい場面で、カッコをつけるというのは、思考の妨害にしかならないのかも。でも、ミスするのは、人間だから、ゼロにはできない。

で、多くの人は、すごいエンジニアでなくて普通なんでそんなの関係ないですね。たぶん初心者も関係ないです。
スポンサーリンク