公開としてm_varnameを使用し、privateと_variableを持つ同じクラスパブリック変数とプライベート変数の命名規則
答えて
いくつかの懸念:
は、なぜあなたは、パブリック変数を持っていますか?
_と__で始まる識別子は、システムライブラリ用に予約されています。実際にはこれはあまり重要ではありませんが、認識するのは良いことです。
これらのことから、どのように見えるかにかかわらず、命名規則を作成することに何も問題はありません。ただ一貫している。
一貫性のヒント。最悪の命名規則を採用することもできますが、一貫性があれば、コードの保守性が向上します。 – Spidey
C++で作業していると仮定すると、私の答えはNOです。それは完全に合理的ですが、あなたは本当にその大会に固執すべきです。
しかし、C#などの静的型付き言語では、そのような命名規則はやや冗長であると想定しています。
個人的に私はそれは醜いと思うが、変数がC++でどこから来るのかは明らかではない。そのような甘えが助けになるかもしれない。
命名規則に関する限り、誰もが自分の好みを持っています。私は、より多くの人々がクラス内の公的変数を持たないことに同意するだろうと言いたい。
C++とJavaの場合も同様です。ハンガリー語表記や接頭辞/接尾辞は必要ありません。キーワード「this」が見つかりました!
あなたは、コンストラクタの初期化リストを使用することができ、この単純な例ではもちろんclass MyClass {
private:
int value;
public:
MyClass(int value) {
this->value = value;
}
}
(はず!);)
ので、代わりに任意の厄介な表記は、単に言語の可能性を採用して使用します。メンバー変数の名前を知っていれば、それは完璧であることがわかります。なぜあなたは "_"でそれを難読化しますか?
パブリックメンバーとプライベートメンバーに同じ名前を使用する場合は、これは絶対に間違った考えです!なぜ同じクラスで同じことを表現するには2つのことが必要でしょうか?それをプライベートにして、完全に名前をつけてゲッターとセッターに公開してください。
"this"はC++のポインタです。 –
正しいでしょう! –
アンダースコアで始まる名前または二重アンダースコアを含む名前は使用しないでください。これらの名前は、コンパイラと実装用に予約されています。その制限の他に、あなたとあなたのチームが好きな命名規則を使うことができます。個人的には、私は「ハンガリー語」の記法を嫌い、m_something表記も嫌いです。変数の型を変更する必要がある場合は、どこにでも名前が更新される必要があります。それはメンテナンスの頭痛です。
多くのC++規約があります。キーは、1つを見つけたり、そして/または1つを適合させることです。それに固執し、一貫性を保つ。あなたがどこかで働いている場合は、多くの慣習を整理してください。そこには非常に多くのものがあり、それぞれが良い議論を持っていますが、彼らは互いに矛盾することができます(合同ストライク戦闘機、ベル研究所、Mozillaなど)
プロジェクトのさまざまな部分少なくとも、各ファイルをそれ自身の中で一貫性を持たせ、.cppファイルと.hファイルは互いに一致させる必要があります。
私はより良いあなたが簡単に速く
- 1. C#とVBクラスのプライベート変数の命名規則と "_"文字
- 2. クラスコンストラクタ内の変数の命名規則
- 3. ココアのインスタンス変数の命名規則
- 4. C++プライベート変数スコープ規則
- 5. 変数\プロパティの命名規則
- 6. Go:スライス変数/パラメータの命名規則?
- 7. Oracleストアド・プロシージャ変数の命名規則
- 8. インスタンス変数への命名規則
- 9. バックボーンビューへのプライベート変数とパブリック変数
- 10. プライベートvsパブリック変数
- 11. Javaのブール動詞の変数とメソッドの命名規則
- 12. 変数とゲッターの命名規則が衝突しないようにQt命名規則?
- 13. エクスポートされたモジュール変数名の命名規則
- 14. JSON直列化可能変数の命名規則
- 15. モジュール関数のPythonユニットテスト命名規則
- 16. IBAction関数の命名規則
- 17. Go関数の命名規則
- 18. パブリックコントローラ関数の命名規則
- 19. 命名規則 - コレクションの複数形
- 20. Golang guard(assert)関数の命名規則
- 21. 命名規則
- 22. 命名規則
- 23. パブリック静的変数とプライベート静的変数の違い
- 24. データベースからJava変数への変換時に使用する命名規則
- 25. 定数のように動作する変数の命名規則
- 26. ローカル変数の通常のjavascript jQuery命名規則とは何ですか?
- 27. 命名規則とネームスペース
- 28. 命名規則 - uinavigationcontrollerとルートビュー
- 29. 私の変数命名規則に名前がありますか?
- 30. 適切なモデル名とdbテーブル複数の命名規則
私は、このコーディングスタイルに慣れていると私はそれが非常に快適でクリアな見つける新しい作業環境に適応できるように、異なる慣習によって書かれたコードを理解することができるように見つけます: http://www.trinitycore.org/f/topic/6-trinitycore-developing-standards/ – LihO