これは良い、悪いのだろうか?オブジェクトを再利用する
ですから、ユーザーのインスタンスを1つ使用して2つのリストに含まれているかどうかを確認しています。私がチェックしているリストは、サードパーティのAPI上にあります。私は1つのチェックをしたい、そのオブジェクトを無効にして、もう一度それを再利用したい。
これは典型的なようですか?私はちょうどこれをスマートにコード化しようとしているので、上記のこのテクニックについて何が考えられるかを見たいと思っています。
これは良い、悪いのだろうか?オブジェクトを再利用する
ですから、ユーザーのインスタンスを1つ使用して2つのリストに含まれているかどうかを確認しています。私がチェックしているリストは、サードパーティのAPI上にあります。私は1つのチェックをしたい、そのオブジェクトを無効にして、もう一度それを再利用したい。
これは典型的なようですか?私はちょうどこれをスマートにコード化しようとしているので、上記のこのテクニックについて何が考えられるかを見たいと思っています。
他の開発者が1年後に戻ってきて、2番目の割り当てでそれを上書きしたことに気付かないうちに、さらにユーザーが作業を開始するときに問題が発生することがあります。あなたの変数の名前を指定します。これはおそらく、不必要な時期尚早の最適化と見なされます。
オブジェクトを再利用していないため、これは問題ありません。オブジェクトへの参照を保持するローカル変数を再利用するだけです。
私は個人的には、2番目のリファレンスを保持するために2番目の変数を作成して、読みやすくする方が良いと感じています。実際には、あなたが(possibly-)に(あなたのコードの別々のゾーンに)参照するために、名user
すなわち、同じ変数を使用している
SelectRecipient
への各呼び出しは(であることから、インスタンスSelectRecipientResponse
のを分離または可能性があります)別のものを返す。それに大きな問題はない。また、user
をnull
に明示的に設定する必要はありません。
null
を変数に割り当てる正当な理由は絶対にありませんが、変数を再割り当てすることは完全に容認され、それを他のものに割り当てます。
読みやすくするために、私がローカル変数を再利用しているときは、一般的に最初の宣言でそれを割り当てません。
私は一般的に記述します:このように
SqlParameter param;
param = new SqlParameter(...);
param.Value = "";
... // and again
param = new SqlParameter(...);
param.Value = "";
を、それが再使用されています(または少なくとも再割り当て)という種類のは明らかです。とにかく私のために働く、そして、それはあまりにも厄介なことなしに、私が喜んで(もし関連性があるならば)物事を並べ替えることができるということを意味する。
ネットワークホップを最小化するなど、効率を上げるために1回の呼び出しで処理していますか? – ChadD