C# 把一条长队分成两次行动合适吗? 整理一些我认为是令人困惑的断线结构的代码: return CommonContext.HttpWebService.DownloadXml(configuration.MethodUrl(APIMethods.CharacterSheet), postData);

C# 把一条长队分成两次行动合适吗? 整理一些我认为是令人困惑的断线结构的代码: return CommonContext.HttpWebService.DownloadXml(configuration.MethodUrl(APIMethods.CharacterSheet), postData);,c#,coding-style,C#,Coding Style,如果它是在一行上,那么很明显,它需要很长的时间才能被阅读。就目前情况而言,我不清楚“return”和“postData”与长线的关系。CommonContext和APIMethods是静态类,配置是局部变量 考虑到这一点,我可能会用以下两行来写: string methodUrl = configuration.MethodUrl(APIMethods.CharacterSheet); return CommonContext.HttpWebService.DownloadXml(methodU

如果它是在一行上,那么很明显,它需要很长的时间才能被阅读。就目前情况而言,我不清楚“return”和“postData”与长线的关系。CommonContext和APIMethods是静态类,配置是局部变量

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

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

这是一种有效的方法,还是有更好的方法?在本例中,我使用的是C#2.0。

是。这通常是件好事。它使代码更加自文档化(具有良好的变量名),也使调试更加容易(允许在第一行上放置断点,并且当从第一行引发异常时,您可以立即将其与单行情况区分开来)。

是。这通常是件好事。它使代码更加自文档化(具有良好的变量名),也使调试更加容易(允许在第一行上放置断点,并且当从第一行引发异常时,您可以立即将其与单行情况区分开来)。

最重要的是可读性。没有一个程序因为太多的行而让用户失望。

最重要的是可读性。没有一个程序因为太多的行而让用户失望。

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


另一个好处是,您为该值命名。通过同时解释它的含义,这将是一个很大的帮助。如果有很多参数,这一点尤其重要——能够快速浏览调用站点上的参数列表和方法声明上的参数列表,并根据名称猜出发生了什么事情,这真的很有帮助。

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

另一个好处是,您为该值命名。通过同时解释它的含义,这将是一个很大的帮助。如果有很多参数,这一点尤其重要——能够快速浏览调用站点上的参数列表和方法声明上的参数列表,并根据名称猜出发生了什么事情,这真的很有帮助。

Nice表达式:“给值一个名称”。这可能是Objective-C的标志。很好的表达方式:“给值起个名字”。这可能是Objective-C的特点。