代码之家  ›  专栏  ›  技术社区  ›  Richard Slater

把一条长队分成两次行动合适吗?

  •  1
  • Richard Slater  · 技术社区  · 17 年前

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

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

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

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

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

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

    3 回复  |  直到 17 年前
        1
  •  11
  •   Mehrdad Afshari    17 年前

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

        2
  •  7
  •   Jon Skeet    17 年前

    methodUrl 在它传递给 DownloadXml .

    . 通过解释其原因,这可能是一个很大的帮助 同时如果有很多参数,这一点尤其重要——能够快速浏览调用站点上的参数列表和方法声明上的参数列表,并根据名称猜出发生了什么,这真的很有帮助。

        3
  •  1
  •   Assaf Lavie    17 年前

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