問題タブ [private]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oop - パラメーターとメンバー変数
私は最近、他の誰かのコードを扱っていて、この個人がプライベート変数とメソッド パラメーターに関して私とは非常に異なる哲学を持っていることに気付きました。一般的に、プライベート変数は次の場合にのみ使用する必要があると感じています。
- 変数は、後で呼び出すために保存する必要があります。
- 変数に格納されたデータは、クラス内でグローバルに使用されます。
- 変数をグローバルに操作する必要がある場合 (すべてのクラス メソッドで変数を読み取る必要がある場合とは明らかに異なります)。
- プログラミングが大幅に簡単になるとき。(確かに漠然としていますが、自分を窮地に追い込むことを避けるために、多くの状況に身を置く必要があります)。
(上記の多くは少し繰り返していることは認めますが、そのような扱いに値するほどそれぞれが異なっているように見えます...)
これは、誤って変数が変更されるのを防ぐ最も効率的な方法のようです。また、これらの標準に従うと、(クラスが最終的に変更された場合) 外部参照の最終的な操作が可能になるように思われるため、将来さらにオプションが残されます。これは単なるスタイルの問題 (1 つの真のブラケットやハンガリーの命名規則など) ですか、それともこの考えには正当な理由がありますか? この場合、実際にベストプラクティスはありますか?
編集
これは修正する必要があると思います。上記の「グローバル」を実際に使用したのは、「インスタンスメソッドによるグローバル」であり、「どこからでもグローバルにアクセス可能」ではありません。
edit2
例が求められました:
これは私がやったであろう方法です:
c# - C#でメンバーのグループをプライベート/パブリックとしてラベル付けする
C++ クラス宣言では、メンバーのグループにプライベートまたはパブリックとしてラベルを付けることができます。
C# でこれを行う方法はないようです。私が間違っている?
visual-studio - アセンブリがプライベートかパブリックかを知る方法
アセンブリがあります (これは DLL です)。それがプライベートかパブリックかを知りたいですか?? どうすればそれを行うことができますか、それを行うプログラムが存在しますか? またはVisual Studioが教えてくれますか?ありがとう
java - Javaでは、オブジェクトのメンバーを公開するのは悪い考えですか?
アプリケーションにデータ クラスがあります。私のアプリケーションがパブリック API として使用されることは決してなく、プロジェクト内でコードを開発するのは私だけです。
プロセッサとメモリの電力を可能な限り節約しようとしています。
ゲッターを使用する必要がないように、データ クラスのデータ メンバーを public/protected/default 保護にするのは悪い考えですか? ゲッターを使用すると、わずかに多くのメモリとスタックなどの作成が必要になります...これは必要ではないと思います。ゲッターを使用する唯一の理由は保護/プライバシーのためですが、私が唯一のコーダーであり、他の誰も私の API を使用しない場合、ゲッターを使用しないのは悪い考えですか?
これがばかげているかどうか教えてください。
c# - プライベートコンストラクターをセットアップするには?
コンストラクターがプライベート (.NET) の場合、単体テストをセットアップするにはどうすればよいですか?
これは私のクラスです:
これは私の単体テストです:
c - 「プライベート」はCキーワードですか?
'private'または'public'キーワードはANSIC(またはその他のC)にありますか、それともC ++(およびJava、C#など)でのみ追加されましたか?
c++ - デストラクタを非公開にすることの用途は何ですか?
デストラクタを非公開にすることの用途は何ですか?
web-services - 「プライベート」パブリック URL のベスト プラクティスは何ですか?
一般にアクセス可能であるが、サイド チャネル経由で共有される URL を生成するためのベスト プラクティスと考えられるものは何ですか?
何かのようなもの:
http://example.com/club/XX-XX-XX-XX
http://example.com/club/YY-YY-YY-YY
XX-XX-XX-XX は 1 つのグループで共有され、YY-YY-YY-YY は別のグループで共有されます。有効なコードが 1 つある場合、他の有効なコードを推測するのは簡単ではありません。
URL に他のセキュリティは必要ありません。
c++ - C++ - コンストラクターのオーバーロード - プライベートおよびパブリック
次のコードで次のエラーが発生する理由を教えてください - call of overloaded "C(int)" is ambiguous
C(char x) はプライベートなので、外部からは C(float) ctor のみが表示され、int を float に変換して呼び出す必要があると思います。
しかし、そうではありません。