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

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

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

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

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

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

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

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

      --
      あなたとコンビにふぁみりま~と♪
      • by Anonymous Coward

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

        • > ただでさえ可読性が低い汚いソースがよけいに読みにくくしてしかたない。

          同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。この話を未だに「好みのエディタ」のような宗教論争と同列に扱う輩が多いことに辟易します。
          --
          格差社会ニッポンを変える!
          貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
          • 僕はたいていの言語で「スペース 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文字といった切りの悪い数のタブのインデント」と容易に読み替えられる時点で、
                論争以外のなにものでもないですよ。はい。

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

処理中...