将长行划分为两个操作是否合适?

时间:2009-03-22 19:19:29

标签: c# coding-style

整理一些我认为是令人困惑的换行结构的代码:

return
       CommonContext.HttpWebService.DownloadXml(configuration.MethodUrl(APIMethods.CharacterSheet),
                                                         postData);

如果它在一行上,显然很长一段时间是可读的。目前我不清楚粗略地看一下“返回”和“postData”与长线有什么关系。 CommonContext和APIMethods是静态类,配置是局部变量。

考虑到这一点,我可能会写两行如下:

string methodUrl = configuration.MethodUrl(APIMethods.CharacterSheet);
return CommonContext.HttpWebService.DownloadXml(methodUrl, postData);

这是一种有效的吐出代码的方式还是有更好的方法?在这种情况下,我使用的是C#2.0。

3 个答案:

答案 0 :(得分:11)

是。通常这是件好事。它使代码更自我记录(具有良好的变量名称)并且还使调试更容易(允许在第一行放置断点,并且当从第一行抛出异常时,您可以立即区分它而不是单个线情况。)

答案 1 :(得分:7)

是的,这绝对是重构代码的有效方法。如果您希望在传递给methodUrl之前使用调试器或记录器查看DownloadXml的值,这也会很有帮助。

另一个好处是,你给的值是一个名称。通过同时解释含义,这可能是一个很大的帮助。如果有很多参数,这可能会特别重要 - 它真的有助于快速浏览调用站点的参数列表和方法声明中的参数列表,并根据名称很好地猜测发生了什么

答案 2 :(得分:1)

首先是可读性。由于线路过多,没有任何程序因用户太慢而无法使用。