【问题标题】:Is fully qualified naming vs the using directive simply a matter of opinion?完全限定的命名与 using 指令只是一个意见问题吗?
【发布时间】:2010-11-01 13:53:49
【问题描述】:

我现在发现我在一个主要是单独的环境中工作,我实际上越来越多地键入完全限定的方法调用,而不是使用 using 指令。以前,我只是与团队中最杰出的编码实践保持一致。

就个人而言,我发现一目了然地阅读冗长的代码更容易,我打字速度很快,尤其是使用自动完成功能,我发现自己更频繁地使用 Google 作为我的文档来源,完全限定名称返回的结果集要窄得多。这些显然是非常武断的理由,更喜欢完全限定而不是使用 using 指令。

在这个重构工具的时代,使用 using 指令优于完全限定指令是否有具体原因,或者反之亦然,或者这纯粹是个人判断问题,如注释间距?最后,你更喜欢哪一个,为什么?

【问题讨论】:

    标签: coding-style namespaces fully-qualified-naming


    【解决方案1】:

    可读性。

    想想自己在 1 年内尝试阅读您的代码。您希望它明确而简短,并且每个数据只有一个信息点(DRY 原则)。

    【讨论】:

      【解决方案2】:

      我尽可能使用 usings。阅读的内容越少,我需要解析的内容就越少:

      System.Windows.Form form = new System.Windows.Form();
      

      只是比

      更多的工作
      var form = new Form();
      

      请注意,这确实要求您的整个商店承诺不做一些愚蠢的事情,例如创建自己的超级骗子 Form 类,这会导致歧义。

      【讨论】:

      • 在此处使用 var 会使阅读变得更糟。如果是明确的,那就更好了。
      • 我感觉 var 将成为 C# 历史上被滥用最多的特性。它可以很容易地创建一些非常难以理解的代码。
      • 我强烈反对。从左到右阅读,当我点击“=”时,我应该知道变量是什么以及它被称为什么。我更喜欢通过给变量一个有意义的名称并使其尽可能短来实现这两者。此外,始终使用 var 可以轻松浏览代码并一目了然地挑选出变量声明。
      【解决方案3】:

      我通常更喜欢对真实代码使用/导入,而对示例/等使用完全限定代码。

      【讨论】:

        【解决方案4】:

        也许可以称之为主观。

        我工作的地方/我更喜欢使用 using 语句。它使名称/行保持足够短,这只会让日常生活更轻松。另外,您可以将鼠标悬停在完全限定名称的内容上。

        【讨论】:

          猜你喜欢
          • 2018-02-20
          • 1970-01-01
          • 2017-08-09
          • 2013-03-01
          • 2011-02-26
          • 1970-01-01
          • 2017-12-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多