パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Linuxカーネルのコーディング規約、1行80桁の制限を撤廃」記事へのコメント

  • by Anonymous Coward

    パッと目の前のソースコードを見ると長い行では200列程度だった。
    うちスペースインデントが30列程度で、80列表示にしたらほとんどの行が見切れる。
    以前は画面分割で120列程度で書くことが多かったが、120列もちょいきつい。
    一応Visual StudioでのC#開発、しかも自分のコードだから比較的冗長で列が長くても分かるという条件だからC++とは話が変わってくると思う。

    ところで割と話題になってるのに定量的な議論が欠けてる気がする。
    GitHubでホストされてるC++のオープンソースプロジェクトでは~行が~%で、みたいないつもの数字はないのかしら?

    • by Anonymous Coward

      そこまで深いインデントになるような処理は、関数化するなりして分離したほうがいいと思うぞ。

      • by Anonymous Coward

        最近は関数型言語でクロージャとか使ってインラインに書くのがかっこいいと思ってるからインデント深くなっていくんじゃないのか。
        120カラムで足りないというのはちょっとやりすぎな気もする。
        # クラス名が30文字くらいあることはまれによくある。

        • by Anonymous Coward on 2020年06月04日 15時26分 (#3827315)
          格好つけてるわけじゃねーよ
          いちいち名前つけて遠くに定義するより中身の見える短いコードが近くにあった方が読みやすいからだよ
          変数や関数を宣言するたびに台帳に記入して連番で意味わからん名前を割り振ってた時代に戻りたいのかよ
          親コメント
          • by Anonymous Coward

            中身のわかる短いコードが近くにあるほうが見通しがいいのはわかるけど、
            インデントだけで30桁(4桁インデント想定だと8個ぐらい?)にまで深くなるようなのは、明かに見通しが悪くなってる例だから、ちゃんと名前つけるなりして外に出したほうがいいぞ。

            ちなみに処理内容そのものがそこにあるより、名前つけて外に出したほうが一般的には見通しがいい。
            見通しが悪くなるのは、唯一名前が変なときだけだ。

            > 変数や関数を宣言するたびに台帳に記入して連番で意味わからん名前を割り振ってた時代に戻りたいのかよ

            そういう組織がある(関わったことないけど)だけで、そんな時代は存在しない。

            • by Anonymous Coward

              それ難読化して元のコードを失くしちゃったから、みたいなシチュー?

            • by Anonymous Coward

              宣言するたびにというのは嘘だろうが、台帳に記入して連番で意味わからん名前を割り振ってた時代は確かにあるぞ
              ABENDするたびにCBL00235やらJCL0AC6やら、紙の台帳ひっくり返していたものじゃよ

              • by Anonymous Coward

                銀行の情報系会社の仕事がそれでしたね。
                ○○さんが溢れてるから助けてやってくれ言われて不思議に思ったらそれだった。
                出現順(基準が分からんかった)で連番とか、そりゃどこの何か分からなくなるからそりゃそうだろと。
                #こうやって出来る人が消えて行く…

            • by Anonymous Coward

              > ちなみに処理内容そのものがそこにあるより、名前つけて外に出したほうが一般的には見通しがいい。

              C++でメンバ関数増やすことになるとヘッダに書くやん?
              そしたらいろいろコンパイルしなおしになるし、クラス内で再利用されたりするかもしれんやん?
              関数内関数とかラムダならそこ考えなくていいしコンパイル遅くならないしつい使っちゃう

              • by Anonymous Coward

                関数の再利用を嫌うならいわゆる関数内関数は対策足り得ません。
                関数内関数は定義された関数内なら再利用できますからね。

              • by Anonymous Coward

                pimpl とか抽象クラスとか知らないパターンですか?

            • by Anonymous Coward

              namespace+class+関数だけで3個、for+if+try{}catch{}で3個、変数スコープの為の{}、ラムダ式やら使うと8段くらいは割と行く。
              ラムダ式があるのだってわざわざ関数にしたくない需要があるからだし、ネスト深いなら関数分けろって考えも古いのかもね。
              一度しか使わないようなprivate関数がたくさんあるのも混乱するし。

              • by Anonymous Coward

                >ネスト深いなら関数分けろって考えも古いのかもね。
                ネスト深いなら、ラムダ式使って分ればいいじゃん。ラムダ式って所詮、関数だろ。

          • by Anonymous Coward

            あほくさ
            連番で名前を付けるとかいうのを引き合いに出すとか

            人間はいろいろな物や概念・事象に名前を付けることによって、この世界を理解し
            人間同士でコミュニケーションをとってきて、ここまで進歩してきたのに、
            無名の処理の方がわかりやすいとか。単に自分の語彙が貧弱なだけじゃねーの?

            • by Anonymous Coward
              こういう人間がJavaみたいなウンコ言語を設計してsetXXX()とgetXXX()を大量に実装させるわけだ
              • by Anonymous Coward

                こういう人間が長い関数を馬鹿みたいに量産してバグを大量に発生させるわけだ

              • by Anonymous Coward

                パワーシェル「」

            • by Anonymous Coward

              人間ねえ。

              きみの家では子供が料理に失敗して二度と見たくないオブジェを作ってしまった時、「黒焦げになった元食品だった塊なので、コゲコゲ元食品塊と命名します。コゲコゲ元食品塊を捨てて鍋からコゲコゲ元食品塊のクズを洗い落としておいてね」と変数名をわざわざ宣言するのかな。うちなら「それ捨てて、鍋は洗っておいてね」と匿名レファレンスで処理してしまうが、それは語彙が貧弱などと蔑まれるような事案なのかな。

              • by Anonymous Coward

                馬鹿には話が通じないのがよくわかった。

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

処理中...