代码之家  ›  专栏  ›  技术社区  ›  Shiva

冗长的代码行与可读性

  •  3
  • Shiva  · 技术社区  · 15 年前

    这是一个非常好的C#代码,只要提供正确的URL,就可以很好地工作。但是,通过降低代码的可读性,所有操作都只需在一行中完成。

    代码如下:

             return new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()).ReadToEnd();
    

    我只是想知道其他开发者对这种编写代码的捷径有什么看法

    5 回复  |  直到 15 年前
        1
  •  5
  •   Joel Coehoorn    15 年前

    将其放入一个命名良好的方法中,或许可以将其拆分,以便单个station可以延伸几行。我也可能会使用WebClient:

    return new WebClient().DownloadString(urlName);
    
        2
  •  5
  •   Guffa    15 年前

    不,这不是很好的C代码。您应该处理StreamReader,因此至少有一个 using 声明:

    using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
       return reader.ReadToEnd();
    }
    

    通过将代码分成更多行,该代码可能会获得一点可读性,但不会太多。

    一般来说,我更喜欢可读的代码,而不是紧凑的代码。每行有一条语句使代码更易于阅读和理解。例如:

    if (i <= 4) i = 4 - i;
    

    if (i <= 4) {
       i = 4 - i;
    }
    

    当然,即使在紧凑的形式下,这段代码也是可读的,但代码越复杂,将每条语句放在单独的一行中所获得的收益就越大。

        3
  •  0
  •   James Matta    15 年前

    ……恶心。

    如果定义只使用一次,大多数编译器(至少是c++编译器)通常会内联变量定义,因此,如果一次性使用,请丢弃变量。您的C#编译器可能只是用它的定义替换它的名称。

        4
  •  0
  •   Juanma    15 年前

    除了可读性问题外,还应该处理正在使用的任何IDisposble对象。

        5
  •  0
  •   Yuan    13 年前

    推荐文章