1

今日プロジェクトで作業しているときに、次のコードに出くわしました。

pcShowByCategory.Controls.Add(new LiteralControl("<div id='lblDivP'>"));
pcShowByCategory.Controls.Add(new LiteralControl("<table width=100%><tr><td colspan='2' align ='left'>"));
pcShowByCategory.Controls.Add(lblTitle);
pcShowByCategory.Controls.Add(new LiteralControl("</br>"));
pcShowByCategory.Controls.Add(new LiteralControl("</br>"));
pcShowByCategory.Controls.Add(new LiteralControl("</td></tr><tr><td colspan='2'>"));
pcShowByCategory.Controls.Add(lbltitle1);
pcShowByCategory.Controls.Add(new LiteralControl("</br>"));
pcShowByCategory.Controls.Add(new LiteralControl("</td></tr><tr><td colspan='2'>"));

私の最初の考えは次のとおりでした: 一体なぜ、これほど多くの新しい LiteralControls を作成する代わりに、1 行または 2 行でこれを行わなかったのでしょうか。私の質問は、これはずさんでメモリの無駄遣いであり、LiteralControl の 1 つまたは 2 つのインスタンス化に統合されるべきでしたか、それとも大したことではありませんか?

4

1 に答える 1

1

それらがすべてハードコードされた文字列である場合、誰かを解雇する必要があります。

最低10秒のリファクタリング...

pcShowByCategory.Controls.Add(new LiteralControl("<div id='lblDivP'><table width=100%><tr><td colspan='2' align ='left'>"));
pcShowByCategory.Controls.Add(lblTitle);
pcShowByCategory.Controls.Add(new LiteralControl("</br></br></td></tr><tr><td colspan='2'>"));
pcShowByCategory.Controls.Add(lbltitle1);
pcShowByCategory.Controls.Add(new LiteralControl("</br></td></tr><tr><td colspan='2'>"));

...まだかなりくだらないですが、それほど血が凝るわけではありません。

ただし、再考のためのスクリーニングはまだです。

于 2010-01-21T17:39:48.020 に答える