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

MicrosoftのC#コーディング規約に「privateフィールドにはプレフィックス」と追記されて混乱を呼ぶ」記事へのコメント

  • 言語としての規定じゃない以上、privateじゃないフィールドに「_」を付けても
    コンパイラ等でエラーになるわけじゃないんでしょ。
    そんな人間の努力目標でしかない仕様はヒューマンエラーの原因になりそうに思える。

    --
    --------------------
    /* SHADOWFIRE */
    • by Anonymous Coward on 2021年05月16日 19時23分 (#4032251)

      コーディング自体がヒューマンエラーの温床だからコーディング禁止しようぜ

      親コメント
      • by Anonymous Coward

        いやいやヒューマンがいなければニューマンエラーが起きないんだからヒューマン絶滅させようぜ

      • by Anonymous Coward

        おもおかじゃなく、これしか無いと思うんだけどね。なかなか進歩しない。

    • by Anonymous Coward on 2021年05月16日 23時02分 (#4032356)

      > コンパイラ等でエラーになるわけじゃないんでしょ。

      コンパイルエラーにもできる。
      C#の場合、コーディングスタイルの不一致のほとんど(機械検出が難しいのは無理)は、コンパイラのオプションで無視するもよし、ワーニングにするも良し、コンパイルエラーにするも選択可能。

      親コメント
    • by Anonymous Coward

      逆だよ。ヒューマンエラーを防ぐためにつける。ぱっと見でその変数がローカルなのかprivateなのかを区別できるからエラーを減らせる。もちろんローカル変数に間違えて_をつけるミスを起こしたら~なんてのはあるけど、_で区別しないのに比べたらエラー率が下がる(メリットが上回る)。

      #C++もC#も_派

      • by Anonymous Coward on 2021年05月16日 19時42分 (#4032263)

        C++では_の次の文字によってはUBになるのでやめてくれ

        親コメント
        • by Anonymous Coward

          大文字とアンダースコアを避けるだけでいいんだから別に問題なくね?
          もし、_Foo と _foo 両方が必要になったり、二重アンダースコアが
          必要になるんだとしたら、それは全体的な名前の付け方とか、クラスの
          分離のしかたがおかしいんじゃ?

          • by Anonymous Coward

            それこそ「つけるのに比べてエラーを減らせる」

          • by Anonymous Coward

            privateフィールドとローカル変数っがぱっと見で区別できなくなるなんてクラス分割や関数分割がおかしいのでは?

      • by Anonymous Coward

        プライベートに外からアクセスしようとしたらコンパイルエラーになるのでは

      • by Anonymous Coward

        _で区別しないのに比べたら

        this. ではなく _ を正当化する理由にはなっていないよね?

      • by Anonymous Coward

        ローカルなのかprivateなのかは区別できるけどローカルなのかpubicなのか区別できない規約でどんなエラーが減らせるのかさっぱりわからん

    • by Anonymous Coward

      一応規定として「"_"+大文字で始まる公開変数は NG」ってなかったけ?
      自動プロパティの内部実装とぶつかるからとか
      コンパイルエラーにはならないし、問題になったこともないけど

      • by Anonymous Coward

        言語仕様とツールの仕様をごっちゃにしてませんか?

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

処理中...