問題タブ [getter]
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.
optimization - ゲッター/セッターまたは他の場所でのデータ検証?
getterとsetter、またはコードの他の場所で検証を行うことをお勧めします。
コードの最適化と高速化に関しては、これは驚くかもしれませんが、ゲッターとセッターではなく、ファイルまたはデータベースを更新しているコードで検証を行うべきだと思います。私が間違っている?
c# - Visual Studio でゲッターとセッターを生成するにはどうすればよいですか?
「生成」とは、特定の選択された (セットの) 変数に必要なコードの自動生成を意味します。
しかし、グッドプラクティスに関するより明確な説明やコメントは大歓迎です。
c# - C#の自動プロパティに初期値を与える最良の方法は何ですか?
C# の自動プロパティに初期値を与えるにはどうすればよいですか?
コンストラクターを使用するか、古い構文に戻します。
コンストラクターの使用:
通常のプロパティ構文の使用 (初期値あり)
より良い方法はありますか?
setter - ゲッターとセッターを使用している場合、プライベート メンバー変数にどのように名前を付ける必要がありますか?
接頭辞に関するこの質問の補足として、接頭辞が悪いというスレッドのほとんどの人に同意します。しかし、ゲッターとセッターを使用している場合はどうでしょうか? 次に、パブリックにアクセス可能な getter 名をプライベートに格納された変数から区別する必要があります。私は通常アンダースコアを使用しますが、より良い方法はありますか?
c++ - ゲッターとセッター、または関数のどちらがより適切ですか?
代替関数名が API をより明確にする場合、ゲッターとセッターの「getMyValue()」および「setMyValue()」パターンを放棄することは適切ですか?
たとえば、C++ に次のクラスがあるとします。
次のように「mIsVisible」を取得/設定する関数を追加できます。
}
ただし、代わりに次の方法を使用することも同様に可能です。
簡単に言えば、単一の「setVisible(bool)」メソッドと、「show()」と「hide()」メソッドのペアのどちらが良いですか? 慣習はありますか、それとも純粋に主観的なものですか?
methods - メソッド名に「get」を使用するベスト プラクティスは何ですか?
Java (C# を含む) の多くの場所で、多くの "getter" メソッドには "get" という接頭辞が付いていますが、他の多くのメソッドには付いていないことに気付きました。私は、Sun が従うように見えるいかなる種類のパターンにも気づきませんでした。getter メソッド名で「get」を使用するためのガイドラインまたはルールは何ですか?
entity - データ プロパティのエンティティ オブジェクトのゲッターとセッター
私は最近 Java で働き始め、すべてのゲッターとセッターのワイルドでクレイジーな世界を紹介されました。最初は嫌でしたが、すぐに慣れました。慣れすぎ。
私は最近、クラスの設計について考えることに多くの時間を費やしています。私がやろうとしていることの 1 つは、すべてに対してゲッターとセッターを実行するという罠を回避することです。ただし、私が行う作業の多くは、主にデータ コンテナーであるエンティティを使用するものであり、これらの場合にゲッターとセッターが実際に不適切であるかどうかはわかりません。
パブリック プロパティを使用した簡単な例を次に示します。
プライベート プロパティを使用し、ゲッターとセッターを使用する簡単な例を次に示します。
これらの例では、name
とdescription
フィールドの両方を変更できる必要があります。
name
ゲッター/セッターの例はより明確で、実装の詳細を隠しているように感じdescription
ます。必要に応じて、後でセットで検証することもできます。
ゲッターとセッターが悪であり、アンチパターンであるという議論をいくつか読みましたが、この状況には当てはまらないように感じます。
まだ検討していないオプションがいくつかあるかもしれません。提案をお待ちしています!
java - ゲッターのチェーンで NullPointerException をトレースする方法
次のような呼び出しで NullPointerException を取得した場合:
次のようなかなり役に立たない例外テキストが表示されます。
どの呼び出しが実際に null を返したかを見つけるのはかなり難しく、コードを次のようにリファクタリングしていることがよくあります。
そして、どの行を探すべきかを教えてくれるよりわかりやすい NullPointerException を待ちます。
ゲッターを連結するのは悪いスタイルであり、とにかく避けるべきだと主張する人もいるかもしれませんが、私の質問は次のとおりです。コードを変更せずにバグを見つけることはできますか?
ヒント: 私は Eclipse を使用しており、デバッガーが何であるかは知っていますが、それを問題に適用する方法がわかりません。
回答に対する私の結論:
いくつかの回答は、ゲッターを次々とチェーンするべきではないと教えてくれました。いくつかの回答は、そのアドバイスに従わなかった場合にコードをデバッグする方法を示しました。
いつゲッターをチェーンするかを正確に教えてくれた答えを受け入れました:
- null を返すことができない場合は、好きなだけ連鎖させます。!= null をチェックする必要はありません。NullPointerExceptions について心配する必要はありません (連鎖は依然としてデメテルの法則に違反していることに注意してください。しかし、私はそれを受け入れることができます) 。
- それらが null を返す可能性がある場合は、絶対に連鎖させず、null を返す可能性のあるそれぞれについて null 値のチェックを実行
これにより、実際のデバッグに関する適切なアドバイスは役に立たなくなります。
getter - クラス メソッド内でゲッターを使用する
単純な get/set プロパティを持つクラスがある場合、クラス メソッド内でゲッターを使用する理由はありますか?それとも、プライベート メンバー変数を使用する必要がありますか? セッター(検証ロジック?)についてはもっと議論があると思いますが、ゲッターについてだけ疑問に思っています。
たとえば (Java の場合) - オプション 2 を使用する理由はありますか?:
c# - AAAを使用してプロパティゲッターでRhino Mocks AssertWasCalled(複数回)
別のオブジェクトにコンストラクター引数として渡されるモック オブジェクトがあります。
モックされたオブジェクトのプロパティが呼び出されたことをテストするにはどうすればよいですか? これは私が現在使用しているコードです:
これは、「someobject」内で Forenames プロパティのゲッターが複数回使用されている場合を除いて機能します。そのとき、「Rhino.Mocks.Exceptions.ExpectationViolationException: INewContactAttributes.get_Forenames(); Expected #1, Actual #2..」を取得します。
単に使用する
動作せず、以下のエラーが発生します。
「待機中の期待値リストから期待値が削除されました。 Repeat.Any() を呼び出しましたか? これは AssertWasCalled() ではサポートされていません。」
では、複数の通話に対応するにはどうすればよいでしょうか。