整理一些我认为是令人困惑的换行结构的代码:
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.
是.通常这是件好事.它使代码更加自我记录(具有良好的变量名称)并且还使调试更容易(允许在第一行放置断点,并且当从第一行抛出异常时,您可以立即区分它而不是单个线情况).
是的,这绝对是重构代码的有效方式.如果您想使用调试器或记录器来查看methodUrl
传递之前的值,它也会很有帮助DownloadXml
.
另一个好处是你给了一个名字的价值.通过同时解释其含义,这可能是一个很大的帮助.如果有很多参数,这可能会特别重要 - 它真的有助于快速浏览调用站点的参数列表和方法声明中的参数列表,并根据名称很好地猜测发生了什么.