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

もうやらなくていい昔のコーディングテクニックあれこれ」記事へのコメント

  • てっきり (スコア:5, おもしろおかしい)

    「もうやらなくてもいい昔のコーディング規約」かと。

    • まずは詳細なフローチャートを作成し、上司のレビューをうけてからコーディングに入ること。
    • 変数の型が分かるように、変数名の先頭にはintならI、クラスならCのように決められた文字から始めること
    • 変更した部分はコメントアウトして残すこと。
    • メソッド名や変数名を変更する場合には変更許可申請書を提出し、上司の印鑑を貰うこと。

    ええ、もちろん大昔の話ですよ?

    • 変更した部分はコメントアウトして残すこと。

      それと変更した日付と変更した人の名前を残すってのがありましたねー。
      2004年ごろの話ですけどね!
      #CVSやSubversionが今ほど普及していなかった頃の話
      #多分今も普及してないだろうけど、あの部署

      • by Anonymous Coward on 2009年05月05日 1時50分 (#1559322)

        転職したらそんな職場だった。
        修正コメントであふれかえって、ただでさえ可読性が低い汚いソースがよけいに読みにくくしてしかたない。
        もう辞めたい。。。

        親コメント
        • by seoulflowerunion (37424) on 2009年05月05日 16時22分 (#1559566)
          > ただでさえ可読性が低い汚いソースがよけいに読みにくくしてしかたない。

          同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。この話を未だに「好みのエディタ」のような宗教論争と同列に扱う輩が多いことに辟易します。
          --
          格差社会ニッポンを変える!
          貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
          親コメント
          • by kacha (13067) on 2009年05月05日 17時02分 (#1559582) 日記

            > 同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。

            おや?

            スペースインデントって結構使ってるんですけど、NGだったんですか・・・ (+_+)

            個人的には可読性を高めるためにスペースを結構多用してます。

            スペースならどのエディタで開いてもインデントの深さが一緒になるので、

            違うエディタで開いたり、他の人の画面でコーディングをチェックしてあげる時

            タブだと設定によって崩れて見えて読みにくいんですもん

            # タブでもスペースでも、2~4文字がちょうどいい人です
            # ネストの深さや種類によって、2文字だったり4文字だったり
            # はたまたタブだったりで、結構いい加減ですが (^-^;

            親コメント
            • by Anonymous Coward
              それが、場所によって3桁のスペースになってたりするんですよね~

              後、プログラマのレベルが違いすぎると、ほんの2行程度の内容が理解できなかったりする...
          • by fcp (32783) on 2009年05月05日 18時11分 (#1559632) ホームページ 日記

            僕はたいていの言語で「スペース 4 文字でインデント」派です。

            同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。この話を未だに「好みのエディタ」のような宗教論争と同列に扱う輩が多いことに辟易します。

            インデントをタブにするかスペースにするかとか、何桁にするかとかって、まさに「『好みのエディタ』のような宗教論争と同列」だと思っているのですが、何が違うのでしょうか。どちらも、選択肢がいろいろあり、どれも一長一短で完璧な解はなく、結局好みの問題だという点でよく似ていると思います。

            親コメント
            • by seoulflowerunion (37424) on 2009年05月06日 14時56分 (#1559986)

              > 何が違うのでしょうか。

              インデント論争は、文書構造の視覚的表現を失うリスクの有無という観点から、本質的にどのエディタでもリスクに差がない(と思われる)エディタ論争と異なります。

              ソースコードにおけるインデントとは、プログラムの文書構造を視覚的に表現するための手段です。視覚的に表現できれば何でも良いのでタブでも空白4文字でも8文字でも本来であれば問題ありません。しかしながら多くの場合、繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、コードブロックの判別が難しくなる傾向があります。6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、どこまでを一つのブロックと判断してよいのか分からなくなり、可読性を大きく損ないます。

              タブの場合は、一文字でインデント一つを表現できるので保守性が向上します。また、タブが一文字削除されるとインデント一つ分大きく変動するので異常を即座に見つけやすいという利点もあります。

              タブの表現がエディタによっては空白4文字か8文字の違いがあるので見た目が変わってよろしくない、なので空白4文字でインデントせよ、という主張がありますが、私は同意できません。上述のように、インデントとはプログラムの文書構造を表現するものであって、外観を表現するものではありません。8文字の環境の方は、8文字字下げされていれば、それがコードブロックを意味していると理解すればよいのであって、下げられたカラム数が8なのか4なのかはどちらでもよいからです。

              一方で、ソースコードの中には、視覚的な位置が重要な意味を持つ記述もあります。例えば構造体配列を用いたテーブルの定義などで、各メンバの初期化子の頭を揃えて記述して可読性を向上させるなどのケースです。このような場合にこそ空白を用いて頭揃えすべきで、タブは絶対に用いるべきではありません。仮にタブを用いて頭揃えした場合、タブ位置の異なる環境では、テーブルが大きく崩れて可読性を損なうでしょう。

              そもそも、プレーンテキストでソースコードを記述しなければいけない以上、文書構造と外観を切り離せないのは最早どうしようもなく、このような議論がつきまとうのは宿命とも言えるのですが、明日から全員Cソースを XML で書けと言って世のC言語エンジニア全員を敵に回すのもよろしくないでしょうし、しょうがないので現場ではうるさくは言わないようにはしていますが。

              --
              格差社会ニッポンを変える!
              貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
              親コメント
              • by njt (4968) on 2009年06月13日 11時31分 (#1585625) 日記

                とりあえず1回pythonでツール書かせようぜ
                インデントが等しい範囲がブロックになるから
                おかしなインデントしてると思い知るよ

                親コメント
              • by Anonymous Coward

                >繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、
                とか
                6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、
                とか、いう環境が既に「昔」のもんでしょ。

                いまどきプログラミングに使うエディタやIDEなら、下手に考えなくてもそこらへん
                勝手にやってくれますし、今ならどこでもある程度のコーディング規約は決めているし。

                「文書構造の視覚的表現を失うリスク」の管理っていうのが、そもそもここで言われている
                もうやらなくていい昔のコーディングテクニックだと思いますが。

                「6文字や7文字といった切りの悪い数の空白のインデント」というのも、
                「6文字や7文字といった切りの悪い数のタブのインデント」と容易に読み替えられる時点で、
                論争以外のなにものでもないですよ。はい。

          • by komakisakio (33768) on 2009年05月05日 18時06分 (#1559627)
            4文字かどうかはともかく、タブ幅を推測する手間が無駄なのでスペースでインデントしています。
            タブにすると可読性が上がるような(上記の手間に見合う)何かがあるのでしょうか?
            親コメント
            • by Anonymous Coward
              タブ幅が何桁であっても、破綻ないようにタブを使うのが基本でしょう。
              というか、普通にやれば、そうなります。

              最悪なのは、エディタをタブ8桁に設定して、スペース4文字とタブを混ぜる書き方。
              んなことするなら、タブ4桁に設定しろっつーの。

              自分好みに自動整形すりゃいいじゃんという話もありますが、
              ホワイトスペースの変更が許されない場合もありまして・・・
              • by komakisakio (33768) on 2009年05月05日 20時09分 (#1559705)
                つまり、

                ・自分好みの幅で表示できるからタブの方が優れている
                ・スペースを混ぜると破綻する

                ってことですね。

                > 最悪なのは、エディタをタブ8桁に設定して、スペース4文字とタブを混ぜる書き方。

                タブ幅を8以外に変えられないエディタがあるとか、そんな事情ですかね。今時ないとは思いますが。
                親コメント
              • by Anonymous Coward
                タブを特定の幅に設定しないと破綻するコードを書くバカがいる。
                バカにつける薬を探すくらいなら、タブの使用を禁止した方が早い。
              • by firewheel (31280) on 2009年05月05日 21時48分 (#1559757)

                >タブ幅を8以外に変えられないエディタがあるとか、そんな事情ですかね。

                タブ幅を変えられることを知らない初心者があるとか、
                未だに手動でインデントを付けてる初心者があるとか、
                そんな事情では。

                まあ普通は

                • 同一組織内の同一プロジェクトであればタブ幅は統一しておく。
                • インデントはタブで行う。
                • 他の異なるタブ幅を採用している組織とソースの受け渡しする必要がある場合のみ、スペースに変換して渡す。
                • それ以外で問題になった場合は、必要に応じてオートインデントで整形する。

                ぐらいでいいと思うんだけどなあ。

                すくなくとも「スペースにしたから可読性が上がる」ってのはちょっと違うだろと。
                オレの目には四文字分のスペースも四文字幅のタブも、見た目は同じにしか見えません。;-)

                親コメント
              • by funakichi (28497) on 2009年05月05日 23時24分 (#1559795)

                リーナスおじさんの「タブ幅は8桁で決まり!」主張 [linux.or.jp]を誰かフォローしとくべきでは?

                #この話題はおじさんホイホイなんだし
                 

                親コメント
              • by cassandro (6035) on 2009年05月06日 20時23分 (#1560079)

                > リーナスおじさんの「タブ幅は8桁で決まり!」主張を誰かフォローしとくべきでは?

                 深いネストはロクなもんじゃない、同感ですね。3段階とまでは言わないですが、5段以上になるケースは僕の場合は希です。

                # 確かに論理構造の劣悪さに着目しないで、単なるプログラミングスタイルの問題と
                # 捉えている人は多いですね。

                親コメント
          • by iwa (2980) on 2009年05月07日 15時27分 (#1560436)

            うちではハードタブによるインデントは禁止にしますた。
            インデンテーションの処理自体はエディタがやってくれるので手間は変わらず、
            サーバ上でviだのlessだのを使わざるを得ない場合でもインデントが狂わなくて、
            少し幸せになれました。

            親コメント
          • by Anonymous Coward
            最近の若い人たちには困りますね~。
            スペース4文字だと4byteも使うじゃないですか。
            タブ(HT)なら1byteですむのに。
        • by Anonymous Coward

          >もう辞めたい。。。
          その気持ちは嫌と言うほど理解できるが我慢しろ。
          日本のIT業界なんてそんな所ばかりだ。

          技術力があるって触れ込みの所でもそんな有様だ。
          おそらく7~8割くらいはそのレベルだし、
          残りの2~3割にしても「それよりはマシ」の域は出てない。

          • by Driver (32138) on 2009年05月05日 12時32分 (#1559451) 日記

            そんなソースに出会ったことはありますが・・・
            そもそも、作り自体が悪いのもあって一から作り直しました。
            コメント?
            バグつぶしのコメントをとっておいてもしょうがないでしょう。
            仕様のコメントなら大歓迎ですが。

            親コメント
          • by Anonymous Coward

            親コメントとは別人ですが、数年前に入社以来同じ悩みを抱えてました。
            やっぱりどこもそんな感じなんですかね…。

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...