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。我的问题是 - 这是否是草率和浪费内存,并且应该合并到 LiteralControl 的一两个实例,或者这不是什么大不了的事?

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 回答