【问题标题】:What is the correct naming notation for classes, functions, variables etc in c#?c# 中类、函数、变量等的正确命名符号是什么?
【发布时间】:2010-09-20 00:12:45
【问题描述】:

我是一名没有正式计算背景的网络开发人员,我已经编写代码几年了,但是每次我需要创建一个新的类/函数/变量时,我都会花大约两分钟的时间来决定在名称上,然后是如何键入它。

例如,如果我编写一个函数来总结一堆数字。我应该叫它吗

Sum()
GetSum()
getSum()
get_sum()
AddNumbersReturnTotal()

我知道有一个正确的方法可以做到这一点,我只要求一个好的权威来源的链接:D

作为c# Coding standard / Best practices的副本关闭

【问题讨论】:

    标签: c# coding-style naming-conventions


    【解决方案1】:

    方法名称是动词。类、字段和属性名称是名词。在这种情况下,Sum 可以作为动词或名词传递...

    AddNumbersReturnTotal 符合上述定义,但有点长。出于对维护我的代码的人(通常是我!)的好意,我尽量避免在标识符中包含多余的单词,并且我尽量避免使用容易打错字的单词。

    【讨论】:

    • 配对 Sum calculate 或 get 将方法名称变成动词,即使 sum 本身就是名词。在名词前加上 Sum 几乎可以确保它(和你的方法)将被视为动词。
    【解决方案2】:

    我同意计算与获取的区别:get() 应该用于已经计算过的值或难以检索的值。

    此外,我建议在许多情况下在名称中添加一个名词,这样您计算的总和就一目了然。当然,除非您要添加的名词类名或类型本身。

    【讨论】:

      【解决方案3】:

      类应该是骆驼记法,首字母大写

      public class MyClass
      

      C# 中的函数和方法应该以类似的方式运行,但私有方法除外

      public void MyMethod()
      private void myPrivateMethod()
      

      我倾向于做一些不同的变量:

      成员变量

      private int _count;
      

      局部变量

      int count;
      

      【讨论】:

      • camelCase 看起来像这样。 PascalCase 是你所想的。
      • 我不同意成员变量的下划线。
      • Gary,你喜欢到处使用它吗?给我一个理由。原因!
      • 完全是我的逻辑 Rob。我讨厌不得不输入“这个”。每时每刻。使用智能感知,当我想要的只是成员变量时,它会显示与类相关的任何内容的列表。只需输入“_”就会自动显示一个仅包含我的成员变量的列表。不错!
      【解决方案4】:

      Sum() 如果它是公开的并且自己完成工作。

      GetSum() 如果它是公开的并且它从其他地方检索信息。

      sum() / getSum() 同上,但用于内部/私有方法。

      (嗯...有点含糊,因为你稍微改变了“Sum”的意思。所以,让我们再试一次。

      XXX 如果 xxx 是一个进程(求和值)。 GetXXX 如果 xxx 是一个东西。 (值的总和)

      【讨论】:

        【解决方案5】:

        幸运的是,我不相信有一种标准化的方式可以做到这一点。我选择我喜欢的那个,因此它似乎也是我见过的所有其他源代码使用的标准,并使用它运行。

        【讨论】:

        • 哈丁,恐怕我不明白这个问题?
        【解决方案6】:

        以上所有。

        我相信官方 C# 指南会说调用它 calculateSum() 因为 getSum() 如果 sum 是一个实例变量将被使用。但这取决于所使用的编码风格以及项目中现有代码的编写方式。

        【讨论】:

          【解决方案7】:

          您正在寻找StyleCop

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-01-09
            • 2017-01-24
            • 1970-01-01
            • 2010-09-30
            • 2011-10-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多