アカウント名:
パスワード:
「もうやらなくてもいい昔のコーディング規約」かと。
ええ、もちろん大昔の話ですよ?
変更した部分はコメントアウトして残すこと。
それと変更した日付と変更した人の名前を残すってのがありましたねー。2004年ごろの話ですけどね!#CVSやSubversionが今ほど普及していなかった頃の話#多分今も普及してないだろうけど、あの部署
転職したらそんな職場だった。修正コメントであふれかえって、ただでさえ可読性が低い汚いソースがよけいに読みにくくしてしかたない。もう辞めたい。。。
僕はたいていの言語で「スペース 4 文字でインデント」派です。
同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。この話を未だに「好みのエディタ」のような宗教論争と同列に扱う輩が多いことに辟易します。
インデントをタブにするかスペースにするかとか、何桁にするかとかって、まさに「『好みのエディタ』のような宗教論争と同列」だと思っているのですが、何が違うのでしょうか。どちらも、選択肢がいろいろあり、どれも一長一短で完璧な解はなく、結局好みの問題だという点でよく似ていると思います。
> 何が違うのでしょうか。
インデント論争は、文書構造の視覚的表現を失うリスクの有無という観点から、本質的にどのエディタでもリスクに差がない(と思われる)エディタ論争と異なります。
ソースコードにおけるインデントとは、プログラムの文書構造を視覚的に表現するための手段です。視覚的に表現できれば何でも良いのでタブでも空白4文字でも8文字でも本来であれば問題ありません。しかしながら多くの場合、繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、コードブロックの判別が難しくなる傾向があります。6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、どこまでを一つのブロックと判断してよいのか分からなくなり、可読性を大きく損ないます。
タブの場合は、一文字でインデント一つを表現できるので保守性が向上します。また、タブが一文字削除されるとインデント一つ分大きく変動するので異常を即座に見つけやすいという利点もあります。
タブの表現がエディタによっては空白4文字か8文字の違いがあるので見た目が変わってよろしくない、なので空白4文字でインデントせよ、という主張がありますが、私は同意できません。上述のように、インデントとはプログラムの文書構造を表現するものであって、外観を表現するものではありません。8文字の環境の方は、8文字字下げされていれば、それがコードブロックを意味していると理解すればよいのであって、下げられたカラム数が8なのか4なのかはどちらでもよいからです。
一方で、ソースコードの中には、視覚的な位置が重要な意味を持つ記述もあります。例えば構造体配列を用いたテーブルの定義などで、各メンバの初期化子の頭を揃えて記述して可読性を向上させるなどのケースです。このような場合にこそ空白を用いて頭揃えすべきで、タブは絶対に用いるべきではありません。仮にタブを用いて頭揃えした場合、タブ位置の異なる環境では、テーブルが大きく崩れて可読性を損なうでしょう。
そもそも、プレーンテキストでソースコードを記述しなければいけない以上、文書構造と外観を切り離せないのは最早どうしようもなく、このような議論がつきまとうのは宿命とも言えるのですが、明日から全員Cソースを XML で書けと言って世のC言語エンジニア全員を敵に回すのもよろしくないでしょうし、しょうがないので現場ではうるさくは言わないようにはしていますが。
とりあえず1回pythonでツール書かせようぜインデントが等しい範囲がブロックになるからおかしなインデントしてると思い知るよ
>繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、とか6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、とか、いう環境が既に「昔」のもんでしょ。
いまどきプログラミングに使うエディタやIDEなら、下手に考えなくてもそこらへん勝手にやってくれますし、今ならどこでもある程度のコーディング規約は決めているし。
「文書構造の視覚的表現を失うリスク」の管理っていうのが、そもそもここで言われているもうやらなくていい昔のコーディングテクニックだと思いますが。
「6文字や7文字といった切りの悪い数の空白のインデント」というのも、「6文字や7文字といった切りの悪い数のタブのインデント」と容易に読み替えられる時点で、論争以外のなにものでもないですよ。はい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
てっきり (スコア:5, おもしろおかしい)
「もうやらなくてもいい昔のコーディング規約」かと。
ええ、もちろん大昔の話ですよ?
Re: (スコア:2)
変更した部分はコメントアウトして残すこと。
それと変更した日付と変更した人の名前を残すってのがありましたねー。
2004年ごろの話ですけどね!
#CVSやSubversionが今ほど普及していなかった頃の話
#多分今も普及してないだろうけど、あの部署
Re: (スコア:0)
転職したらそんな職場だった。
修正コメントであふれかえって、ただでさえ可読性が低い汚いソースがよけいに読みにくくしてしかたない。
もう辞めたい。。。
Re: (スコア:1)
同様に可読性を損なうコーディング規約に「タブではなくスペース4文字でインデント」がありますね。この話を未だに「好みのエディタ」のような宗教論争と同列に扱う輩が多いことに辟易します。
格差社会ニッポンを変える!
貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
Re: (スコア:2)
僕はたいていの言語で「スペース 4 文字でインデント」派です。
インデントをタブにするかスペースにするかとか、何桁にするかとかって、まさに「『好みのエディタ』のような宗教論争と同列」だと思っているのですが、何が違うのでしょうか。どちらも、選択肢がいろいろあり、どれも一長一短で完璧な解はなく、結局好みの問題だという点でよく似ていると思います。
Re:てっきり (スコア:1)
> 何が違うのでしょうか。
インデント論争は、文書構造の視覚的表現を失うリスクの有無という観点から、本質的にどのエディタでもリスクに差がない(と思われる)エディタ論争と異なります。
ソースコードにおけるインデントとは、プログラムの文書構造を視覚的に表現するための手段です。視覚的に表現できれば何でも良いのでタブでも空白4文字でも8文字でも本来であれば問題ありません。しかしながら多くの場合、繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、コードブロックの判別が難しくなる傾向があります。6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、どこまでを一つのブロックと判断してよいのか分からなくなり、可読性を大きく損ないます。
タブの場合は、一文字でインデント一つを表現できるので保守性が向上します。また、タブが一文字削除されるとインデント一つ分大きく変動するので異常を即座に見つけやすいという利点もあります。
タブの表現がエディタによっては空白4文字か8文字の違いがあるので見た目が変わってよろしくない、なので空白4文字でインデントせよ、という主張がありますが、私は同意できません。上述のように、インデントとはプログラムの文書構造を表現するものであって、外観を表現するものではありません。8文字の環境の方は、8文字字下げされていれば、それがコードブロックを意味していると理解すればよいのであって、下げられたカラム数が8なのか4なのかはどちらでもよいからです。
一方で、ソースコードの中には、視覚的な位置が重要な意味を持つ記述もあります。例えば構造体配列を用いたテーブルの定義などで、各メンバの初期化子の頭を揃えて記述して可読性を向上させるなどのケースです。このような場合にこそ空白を用いて頭揃えすべきで、タブは絶対に用いるべきではありません。仮にタブを用いて頭揃えした場合、タブ位置の異なる環境では、テーブルが大きく崩れて可読性を損なうでしょう。
そもそも、プレーンテキストでソースコードを記述しなければいけない以上、文書構造と外観を切り離せないのは最早どうしようもなく、このような議論がつきまとうのは宿命とも言えるのですが、明日から全員Cソースを XML で書けと言って世のC言語エンジニア全員を敵に回すのもよろしくないでしょうし、しょうがないので現場ではうるさくは言わないようにはしていますが。
格差社会ニッポンを変える!
貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
Re:てっきり (スコア:1)
とりあえず1回pythonでツール書かせようぜ
インデントが等しい範囲がブロックになるから
おかしなインデントしてると思い知るよ
Re: (スコア:0)
>繰り返し流用や保守作業を続けていくと、空白で表現されたインデントは崩れやすく、
とか
6文字や7文字といった切りの悪い数の空白のインデントが散在し始めると、
とか、いう環境が既に「昔」のもんでしょ。
いまどきプログラミングに使うエディタやIDEなら、下手に考えなくてもそこらへん
勝手にやってくれますし、今ならどこでもある程度のコーディング規約は決めているし。
「文書構造の視覚的表現を失うリスク」の管理っていうのが、そもそもここで言われている
もうやらなくていい昔のコーディングテクニックだと思いますが。
「6文字や7文字といった切りの悪い数の空白のインデント」というのも、
「6文字や7文字といった切りの悪い数のタブのインデント」と容易に読み替えられる時点で、
論争以外のなにものでもないですよ。はい。