2014-08-12

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

こういう記事が上がって

それへの反応

記事最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)

で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。

自転車置き場の議論的な、素人でも分かりやすポイントからこのツッコミって人気あるのかね。

トラックバック - http://anond.hatelabo.jp/20140812112643
  • http://anond.hatelabo.jp/20140812112643

    どっちもどっちだか、 まともにコード書いた事ないヤツは黙ってろや! って事だよ。

  • http://anond.hatelabo.jp/20140812112643

    あの なんというか。   >>| if( bool ){ function(); } |<< ってね。 >>| if( bool ) function(); |<< ってかけるんだけど 第3者がデバッグしている時に function();にブレークポイント...

    • http://anond.hatelabo.jp/20140812113750

      そもそも、フォーマッタを統一すればいいだけの話でなんでいちいちデバッガの話とかに発展してんの? 手で文書をフォーマットするとかそれ以前の話だで。

      • http://anond.hatelabo.jp/20140812114200

        なんでいちいちデバッガの話とかに発展してんの? デバッガの事を気にしないでコーディングルールの論争をしていたから。 開発する時にデバッガ使わない人もいるけど、使う人もい...

        • http://anond.hatelabo.jp/20140812114517

          前提がちげー。コードをコミットする前にフォーマッタでフォーマットしてからコミットするの。 そうすりゃ誰がどんなコード書こうが、ちゃんと統一された書式やらインデントやらに...

          • http://anond.hatelabo.jp/20140812115005

            昔のコードを扱うにしても、プロジェクト開始時に一斉にフォーマットしちまえ。 これは怖いわ。コードが化石ならコンパイラも化石だろ。今の基準でフォーマットしちまったら意味...

            • http://anond.hatelabo.jp/20140812115457

              どうせそのプロジェクトがマイグレーションの役目も含んでいるなら、最初のうちにレガシーをつぶしちまう方がいいだろ。 テストしてるうちとかに非互換が出てきたときのほうが悲惨...

  • http://anond.hatelabo.jp/20140812112643

    世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない その結果バグは出てるし、やっぱ使わないほうが...

    • http://anond.hatelabo.jp/20140812114304

      マジレスすると中カッコが増える度にコードの複雑度は増すから、中カッコが少ないコードの方がバグの少ないコード足りうるぞ。

      • http://anond.hatelabo.jp/20140812114509

        中括弧の数ではなく分岐の数だと思うし 中括弧を省略したifと 省略してないifで複雑度は変わらない。

        • http://anond.hatelabo.jp/20140812115007

          本当にそう思うか? if(A==条件){ if(B==条件){ 処理(); } } と if(A==条件 && B ==条件) 処理(); なら、圧倒的に後ろの方がバグが少なくなるコードだよな? なにより、見やす...

          • http://anond.hatelabo.jp/20140812115420

            それなら if( (A==条件) && (B==条件) ) { 処理();} にすればもっと見やすくなるじゃん

            • http://anond.hatelabo.jp/20140812115657

              割とマジレスすると、ifの中にAND条件入れるってのは、ブレークポイント入らないと困る派にとっては割とありえん話なんだぜ。 if( A==条件 && B==条件 ){ 処理(); } こんな...

              • http://anond.hatelabo.jp/20140812120406

                条件式のANDの話と中括弧の省略の話って全く関連ないよね? 糞プログラマって関係してないことを関係してるかのように話して、無駄に複雑に見せようとするよね。

                • http://anond.hatelabo.jp/20140812120815

                  if文だけを覚えてる初心者レベルにコードを書かせると、ANDで省略せずにifネスト地獄を書くやつが結構いるってことだよ。 だからこそ、「省略できるカッコは可能な限り省略するように...

                  • http://anond.hatelabo.jp/20140812121901

                    全然意味わかんねー。 それがプログラマの論理的思考なの? ANDが無くて無駄にネストしてんならAND教えりゃいいじゃん。中括弧の省略は関係ねーって。

                    • http://anond.hatelabo.jp/20140812122354

                      なんでわかんねーんだよ。「中カッコはなるべく入れましょう」って思想だと、ifネストしてても「だってそう教わりましたしおすし」っていう考え方になるから、なかなか洗練されたコ...

          • http://anond.hatelabo.jp/20140812115420

            なんで上だけネストさしてんだよ。 こうだろ? if(A==条件 && B ==条件) { 処理();} お前糞だな。

            • http://anond.hatelabo.jp/20140812115903

              AND条件があるってことは、ELSE条件も本質的には存在してるってことなんだよ。 本当の意味で丁寧に描くなら if(A==条件){ if(B==条件){ //AB達成した時の処理 } else{ //Aのみ達...

          • http://anond.hatelabo.jp/20140812115420

            結論から言うと そのコードは どっちでもいい。 昔は1画面20-25行しか無いVGA環境だったが 今は1画面に100行ぐらい入るから if( a ){ if( b ){ f(); } } if( a && b ){ ...

  • http://anond.hatelabo.jp/20140812112643

    中括弧は、プログラミングを覚えて1年くらいの段階で絶対に付けるようになって今に至ってる。 ブロック内がシングルステートメントなら無くてもいいんだが、後で処理を追加するの...

    • http://anond.hatelabo.jp/20140812132823

      せやな。「ネストすんな」を言い続けてたらprivate void()でソースを埋め尽くされたこともあるし、もっと大枠で語らないかんな。

      • http://anond.hatelabo.jp/20140812133748

        private void()でソースを埋め尽くされた 別にいいだろ、関数名が適切なら。process1、process2とかならアレだけど。

        • http://anond.hatelabo.jp/20140812135354

          良くねえよ。引数なしのprivate void();って、プログラム的には「まったく意味のない」メソッドであって、処理を纏めてる意味合いしか持たないんだよ。 デバッグしてるときとかに処理が...

          • http://anond.hatelabo.jp/20140812140732

            処理を纏めて名前付けるのは超重要だろ。 適切に名前付けされてれば、人間にとって読みやすくなるだろ。 まとまった処理を、関数に分離しながら開発していけば、自然に処理も共通化...

            • http://anond.hatelabo.jp/20140812142259

              引数を与えてないのに内部状態が変わるってのは「どう変わるか」が分からないってことなんだよ… コメント読む、ソース読む。どちらかを強いている(概ね後者)のが激しくクソなん...

              • http://anond.hatelabo.jp/20140812143653

                関数化されるのが「まとまった処理」で「適切に名前付けされてる」のが前提。 その限りにおいては、できるだけ細かく関数に切り出すべき。 関数名読んで何やってるかわからないのは...

  • http://anond.hatelabo.jp/20140812112643

    まあでも、Appleとかでさえこんなミス見逃して出しちゃうくらいだから、 括弧くらいつけとけ、って感じにはなるよね。 https://www.imperialviolet.org/2014/02/22/applebug.html