問題タブ [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.

0 投票する
4 に答える
7020 参照

java - Java:アクセス修飾子は「protected」よりも制限が厳しく、「private」よりも制限が少ないですか?

protectedフィールドを実装するクラスprotectedとそれをサブクラス化するものだけがアクセスできる、に似たものが必要です。

したがって、基本クラスの変数をとして宣言できるようにしたいのですがprivate、それでもサブクラスから変数にアクセスできるようにしたいのです。

おそらく、これはサブクラス化、、、privateおよび/またはの性質そのものに反しprotectedます。

このようなものはJavaに存在しますか?

0 投票する
22 に答える
360065 参照

java - プライベート最終静的属性とプライベート最終属性

Java では、次の違いは何ですか。

どちらもprivatefinalで、違いはstatic属性です。

何が良いですか?なぜ?

0 投票する
1 に答える
1200 参照

c++ - Doxygen がクラスのプライベート ブロックの後にパブリック ブロックで動作しない

(C++) クラスのプライベート セクションの後にパブリック セクションをドキュメント化するように Doxygen に指示するにはどうすればよいですか?

例えば

最初の公開セクションがなくても、2 番目の公開セクションはまだ文書化されていません。

doxylog.txt レポート:

警告: ドキュメント化された関数 `Brg:: undocumentedFunction1' は宣言または定義されていません

0 投票する
5 に答える
176 参照

web - どのようにしてサイトをプライベートにしますか?

私はただ浮気して、Web開発の詳細を学び、表示する準備ができるまでドメインをプライベートにしたいのです。

これを行うための最良の方法は何ですか?

ところで、私はDebianにApacheサーバーを持っています。

0 投票する
2 に答える
384 参照

interface - ATL / COM:DLLの外部では使用できないCOMインターフェイスを定義していますか?

VC++6.0を使用して作成されたATL/COMベースのDLLがあります。これは、VB6を使用して構築されたさまざまな実行可能ファイルに使用されます。

DLLの内部使用のみを目的として、VB6経由でアクセスできないCOMインターフェイスをいくつか追加したいと思います。(使用時に)COMインターフェイス参照しかないオブジェクトで使用するため、C++インターフェイスではなくCOMインターフェイスにします。

つまり、このポインタがCFooを指していることを(使用時に)知りません。私はそれがIFooを指していることを知っています。IFooはCOMインターフェイスであり、VB6がそれを認識できるように公開されています。このIFooポインターから、IFooを実装するすべてのクラス(CFooだけでなく)が実装するIFooInternalポインターを取得したいと思います。さらに、DLL自体の外部からIFooInternalにアクセスできるようにしたくありません。たとえば、VB6からIFooInternalにアクセスできるようにしたくありません。

これに関する助けをいただければ幸いです。同じ全体的な目標を達成するための代替方法の提案もあります。前もって感謝します。

0 投票する
12 に答える
5792 参照

c# - プライベート コードの単体テスト

私は現在 C# での開発に携わっています - ここにいくつかの背景があります: クライアント アプリケーションで MVP を実装し、5 を超える循環的複雑度を持つメソッドは存在しないという循環的規則があります。これにより、多くの小さなプライベート メソッドが発生します。これらは通常、1 つのことを担当します。

私の質問は、クラスの単体テストに関するものです。

パブリック メソッドを使用したプライベート実装のテストはすべて問題ありません...これを実装するのに問題はありません。

しかし...次の場合はどうでしょうか。

例 1.非同期データ取得リクエストの結果を処理します (コールバック メソッドは、純粋にテストのために公開するべきではありません)。

例 2.操作を行うイベント ハンドラー (ビュー ラベルのテキストの更新など - 私が知っているばかげた例...)

例 3.保護された仮想メソッドをオーバーライドして拡張できるサードパーティ フレームワークを使用しています (パブリック メソッドからこれらの仮想メソッドへのパスは、一般にブラック ボックス プログラミングとして扱われ、フレームワークが提供するあらゆる種類の依存関係があります。あなたは知りたくない)

上記の例は、設計が不十分な結果であるとは思えません。また、そのようなメソッドはコンテキストを失うため、分離してテストするために別のクラスに移動する候補にはなりません。

これについて考えている人はいますか?

乾杯、ジェイソン

編集: 元の質問では十分に明確ではなかったと思います-アクセサーを使用してプライベートメソッドをテストし、TypeMock を使用して呼び出し/メソッドをモックできます。それは問題ではありません。問題は、公開する必要がない、または公開できないものをテストすることです。

セキュリティの抜け穴を導入する可能性があるため、テストのためにコードを公開したくありません (これを非表示にするためのインターフェイスを公開することはオプションではありません。オブジェクトを元の型にキャストして戻すことができるため、私はしたくありません)

テストのために別のクラスにリファクタリングされるコードは問題ありませんが、コンテキストが失われる可能性があります。私はいつも、特定のコンテキストのないコードのポットを含むことができる「ヘルパー」クラスを持つのは悪い習慣だと思っていました - (ここでSRPを考えてください)。これがイベントハンドラーでも機能するとは本当に思いません。

私は間違っていることが証明されてうれしいです - この機能をテストする方法がわかりません! 私は常に、それが壊れたり変更されたりする可能性がある場合は、テストすることを心に留めていました.

乾杯、ジェイソン

0 投票する
6 に答える
929 参照

c++ - C++ でオブジェクトを変換し、プライベート データ メンバーにアクセスできますか?

クラス内のプライベート データ メンバーにアクセスしたい。このクラスには、プライベート データ メンバーにアクセスするためのメンバー関数はありません。プライベートです。

私はクラスを取りたいと思っています。1 つの方法は、クラスの宣言をコピーし、private メンバーを public にして、新しいクラス class something_else を呼び出すことでした。次に、再解釈キャストを行い、元のオブジェクトをコピーします。これは機能します。しかし、私はもっとエレガントなものが欲しい...またはおそらく一般的な...または別の方法が必要です。

どのようなオプションがありますか? void* を使用できますか? クラスを別の空のクラスに memcpy できますか? これを行う方法は何ですか??

%

0 投票する
5 に答える
344 参照

c++ - 他の人が使用するヘッダークラ​​スファイル

ヘッダーファイル.hに保護されたものと公開されたものだけを配置し、コンパイルユニット.cppにすべてのプライベートなものを配置する方法があるかどうか知りたいのですが、ライブラリは他の人によって使用されるため、これが必要です。プライベート宣言と実装を削除するために、すべての.hファイルをコピーして編集する必要はありません。試しましたが、重複宣言エラーが発生しました

もう1つの質問は、プライベート静的なものについてです。ヘッダーファイルで宣言して、.cppユニットに実装できますか?プライベート変数とパブリックgetメソッドを試しましたが、ユニットにメソッドを実装できませんでした。ヘッダーの宣言と実装でのみ機能しました。

[] s、ジョー

0 投票する
4 に答える
3138 参照

mercurial - Google Code にプライベート Mercurial リポジトリをセットアップすることは可能ですか?

Google Code が Mercurial ホスティングの無料オプションであることは気に入っていますが、セットアップしたテスト プロジェクトでは、リポジトリをprivateとして指定する方法が見つかりませんでした。

理想的には、世界に公開する準備が整うまで非公開でプロジェクトに取り組み、それから他の人に公開したいと考えています。

Googleコードでそれを行う方法はありますか?

0 投票する
9 に答える
286157 参照

python - Pythonでのプライベートモジュール関数の定義

http://www.faqs.org/docs/diveintopython/fileinfo_private.htmlによると:

ほとんどの言語と同様に、Pythonにはプライベート要素の概念があります。

  • モジュールの外部から呼び出すことができないプライベート関数

ただし、2つのファイルを定義すると、次のようになります。

と:

実行すると、例外なくb.py出力されます。1diveintopythonは間違っていますか、それとも私は何かを誤解しましたか?そして、モジュールの関数をプライベートとして定義する方法はありますか?