パスワードを忘れた? アカウント作成
13965496 story
スラッシュバック

「 いいコーディング規約、悪いコーディング規約?」2019年版 140

ストーリー by hylom
新たな言語の登場で変わったことはあるかも 部門より

Anonymous Coward曰く、

2008年の記事「いいコーディング規約、悪いコーディング規約? 」より

本格的なソフトウェア開発企業で働くとき、最初の頃にまずコーディング規則や慣習などのガイドラインに目を通したかと思う。基本的なガイドラインとして、gotoは原則使用禁止だとか、インデントにはスペースではなくタブを使用すべきであるとか、またはその逆などがあっただろう。ひょっとしたらcontinue禁止や、複数リターン値禁止など、ちょっと変わってるように思える慣習や、あまり直感的とは言えないルールといったものもあったかもしれない。

可読性を高めたり、メンテ性を向上させるには、どんな規約が有効だっただろうか? ドキュメント上では一見良さそうに見えたが、実際はイマイチだったものなどあるだろうか?

SlashdotJ諸氏が実践してきたコーディング規約で特に有効だったのはどんなものだろうか? 逆に規約のせいで問題が起きてしまったケースなどあるだろうか? ほかにも、使える「自分ルール」などもあれば是非。

元々のストーリーからは十余年経過してますが、新たな「いい/悪い」は現れただろうか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by wolf03 (39616) on 2019年07月25日 6時41分 (#3657649) 日記
    ①1行は80桁に収めろ
    ②1関数は50行に収めろ
    ③1ファイルは200行に収めろ

    ②③で超えさせたい場合は理由を添えて申請しろ

    ※どんな言語でもこれ適用
    • by Anonymous Coward on 2019年07月25日 7時13分 (#3657658)

      1はlambda式とかfluent interfaceとかずらずら書く方式を使ってるとキツイね。
      まあ適当に改行入れれば回避できる。それで行数が極端に増えるってことはないだろう。
      2, 3は上限の数字云々よりも、「大きくなりすぎたら機能を分割できないか見直そう」っていう哲学から来てると思う。
      機能を詰め込むとテストしづらくなってバグの温床となる。

      親コメント
      • by Anonymous Coward on 2019年07月25日 20時17分 (#3658238)

        関数に分けることの最大の目的は、処理に名前を付けること。

        例えば、池袋から梅田に行く方法を説明するのに、

        JRの○○改札を抜けと20メートルほど先に進み、右に曲がったあと7番ホームへの
        階段を上り(中略)新幹線を降りたら、右手に進んで階段を降り、まっすぐ進むと
        右手に京都線ホームへの階段がある喉(以下略)

        みたいな説明されるより、

        1. 山手線で品川まで行く。
        2. 品川で東海道新幹線に乗る。
        3. 新大阪で京都線に乗り換える。
        4. 大阪駅で降りる。

        山手線で品川まで行く方法は...

        のように説明される方がわかりやすい。一回しか使わないから関数化
        する必要ないなんて馬鹿はこのことを理解していない。意味のない
        関数名を付ける奴も同様。

        親コメント
      • 1個のコメント が現在のしきい値以下です。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...