2009-09-04 19 views
0

これは良い、悪いのだろうか?オブジェクトを再利用する

ですから、ユーザーのインスタンスを1つ使用して2つのリストに含まれているかどうかを確認しています。私がチェックしているリストは、サードパーティのAPI上にあります。私は1つのチェックをしたい、そのオブジェクトを無効にして、もう一度それを再利用したい。

これは典型的なようですか?私はちょうどこれをスマートにコード化しようとしているので、上記のこのテクニックについて何が考えられるかを見たいと思っています。

+0

ネットワークホップを最小化するなど、効率を上げるために1回の呼び出しで処理していますか? – ChadD

答えて

1

他の開発者が1年後に戻ってきて、2番目の割り当てでそれを上書きしたことに気付かないうちに、さらにユーザーが作業を開始するときに問題が発生することがあります。あなたの変数の名前を指定します。これはおそらく、不必要な時期尚早の最適化と見なされます。

6

オブジェクトを再利用していないため、これは問題ありません。オブジェクトへの参照を保持するローカル変数を再利用するだけです。

私は個人的には、2番目のリファレンスを保持するために2番目の変数を作成して、読みやすくする方が良いと感じています。実際には、あなたが(possibly-)に(あなたのコードの別々のゾーンに)参照するために、userすなわち、同じ変数を使用している

4

SelectRecipientへの各呼び出しは(であることから、インスタンスSelectRecipientResponseを分離または可能性があります)別のものを返す。それに大きな問題はない。また、usernullに明示的に設定する必要はありません。

0

nullを変数に割り当てる正当な理由は絶対にありませんが、変数を再割り当てすることは完全に容認され、それを他のものに割り当てます。

読みやすくするために、私がローカル変数を再利用しているときは、一般的に最初の宣言でそれを割り当てません。

私は一般的に記述します:このように

SqlParameter param; 

param = new SqlParameter(...); 
param.Value = ""; 

... // and again 

param = new SqlParameter(...); 
param.Value = ""; 

を、それが再使用されています(または少なくとも再割り当て)という種類のは明らかです。とにかく私のために働く、そして、それはあまりにも厄介なことなしに、私が喜んで(もし関連性があるならば)物事を並べ替えることができるということを意味する。

関連する問題