【问题标题】:camel case method names驼峰式方法名称
【发布时间】:2010-12-09 05:29:12
【问题描述】:

我理解变量名的驼峰式命名的原因,但我一直想知道为什么你会驼峰式命名一个方法名?为什么是 toString() 而不是 ToString()?它有什么用途?

【问题讨论】:

  • 告诉我们你理解的“驼峰式变量名的原因”,然后也许我们可以告诉你“驼峰式命名的原因”:)
  • 两者实际上都是驼峰式的,低位或高位。这只是一种快速识别代码中内容的约定,这样它对于必须浏览它的其他人来说确实看起来更熟悉。
  • 我认为这是因为你可以用大写来声明类型,并用小写变量名实例化它,以避免命名冲突 - 顺便说一句,我不使用这种驼峰式命名约定,但我总是对它背后的一些理性感到好奇。
  • 并且只是为了轻松区分什么是类型和什么是实例。

标签: naming-conventions camelcasing


【解决方案1】:

许多约定说您将类型(类、结构、枚举等)的首字母大写,否则使用小写(函数、成员等)。

如果您遵循该约定,则只需查看MyStruct.MyType 指的是嵌套类型,MyStruct.myData 指的是某种形式的数据,MyStruct.myFunc() 指的是函数调用,就可以知道。

【讨论】:

    【解决方案2】:

    我们在第一个字母上使用小写以节省打印输出中的一点墨水。

    【讨论】:

    • 滑稽,但合理。全球化思维,本土化行动。赞成:)
    【解决方案3】:

    这只是一个约定。就像所有约定一样,在其创建者的心目中,它们只是为了使代码更易于阅读和维护。

    【讨论】:

    • 另外 .NET 采用 ToString() 作为约定,而不是 toString(),这与 Java 相反。
    • 好的,但是为什么方法名的第一个单词要小写以便于阅读呢?
    • 有些程序员是在驼峰式的情况下长大的,他们的所有变量,即:int someInt 所以他们的方法有点自然的进展。就像有些人会声称匈牙利符号 (en.wikipedia.org/wiki/Hungarian_notation) 非常容易阅读,而其他人则不同意。这就像关于花括号是在同一行还是下一行的古老辩论:)
    【解决方案4】:

    因为这是 Java 的原始设计者所喜欢的。

    【讨论】:

    • 因为他们更喜欢这种方式。
    【解决方案5】:

    因为要保持一致,您必须将每个方法名称的第一个字母大写,然后您必须在一天内多次按 Shift 键。

    【讨论】:

    • 感谢您对我完全有效但略带讽刺意味的观察的匿名投票
    【解决方案6】:

    由于驼峰式将每个单词的首字母大写以替换空格,我们面临如何区分大写标题的挑战,就像我们在英语中为专有名词所做的那样。作为对此的解决方案,驼峰式标识符中的第一个单词大写以表示标题或标识符是大写的。

    在编程的情况下,对于大多数人来说,将类的名称大写而不是其方法的名称似乎是合适的。实际上,它在两者之间提供了很好的区别

    多年来,编程已经演变为有很多约定,虽然很多约定非常不同,但人们倾向于达成共识。但是,您会发现“为什么问题”的答案(例如您发布的问题)并不总是植根于完全具体的事物。

    【讨论】:

      【解决方案7】:

      我不认为有任何原因,这些只是惯例,每个人可能都有自己的。

      【讨论】:

        【解决方案8】:

        如果你想要一个函数

        write();
        

        这比

        花费更少的精力(少按一次 SHIFT 键)
        Write();
        

        但是,如果您正在写入文件,则需要区分单词。因此

        writeToFile();
        

        效率略高(并且仍然与第一个示例一致)

        【讨论】:

        • 在带有 IntelliSense 的现代 IDE 中,这不再适用。
        • 在具有 IntelliSense 的现代 IDE 中,这可能较少是个问题。我不会完全忽略它。很多人(正确或错误)不使用 IDE(无论出于何种原因)
        【解决方案9】:

        通常您倾向于遵循您的框架使用的那个。所以Java开发者倾向于使用小写开头,.NET开发者倾向于使用大写开头。

        【讨论】:

          【解决方案10】:

          如果您还没有阅读过wikipedia page,它包含了您可能想知道的关于骆驼案的所有信息,包括它的历史。

          CamelCase(也拼写为“camel case”) 或中间大写字母是 写复合词或短语 元素在没有的情况下连接 空格,每个元素的初始 内大写的字母 复合。

          骆驼起源的一种理论 案例约定认为 C 程序员和黑客只是发现 它比标准更方便 基于下划线的样式。

          C 程序员懒惰?我非常怀疑。

          【讨论】:

          • 基于下划线的样式可以追溯到不支持大小写混合的EBCDIC。变量看起来像 THIS_VARIABLE。将其切换为 ASCII,您将获得 this_variable,它更易于阅读。使用 thisVariable 更加简单,这就是我们在区分大小写的语言中所做的。有趣的是,在 SQL 等不区分大小写的语言中,找到下划线的情况并不少见。
          • EBCDIC 确实支持大小写混合。不过,6 位 BCD 码(通常?)全大写。
          【解决方案11】:

          帕斯卡格 标识符中的第一个字母和每个后续连接单词的第一个字母大写。您可以将 Pascal 大小写用于三个或更多字符的标识符。 例如:背景色

          大写 标识符中的所有字母都大写。仅对包含两个或更少字母或缩写的标识符使用此约定,例如 BSU 和 UCS。在下面的示例中,IO 和 UI 是大写标识符,而 System 遵循 Pascal 大写样式,因为长度大于 2。 例如:System.IO; System.Web.UI

          骆驼套 标识符的第一个字母小写,每个后续连接的单词的第一个字母大写。 例如:背景色

          以下链接总结了大写规则,并为您的 Web 应用程序/项目中的不同类型的标识符和项目提供了示例。希望此链接对您有所帮助

          https://dotnetprod.bsu.edu/AdminConsole/Documentation/ASPDotNet/CodingStyle/NamingConventions/Capitalization.aspx

          【讨论】:

            【解决方案12】:

            一位朋友告诉我,一项研究表明,如果 Types 是驼峰式大小写,首字母大写,变量是 done_like_this,人们可以更容易地阅读代码。它确实使类型和变量之间的区别跳出来了。

            我从来不知道哪个函数名更清楚。我通常考虑将第一个字母大写,但在阅读完这篇文章后,我认为不区分类型名称和方法名称可能更具可读性(是的,在某些语言中,方法签名是一种类型,但你知道我的意思!)

            【讨论】:

            • 我总是对以“朋友说...”开头而没有引用的答案持怀疑态度。该研究的链接会很好:)
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-10-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-01
            • 2015-02-01
            • 1970-01-01
            相关资源
            最近更新 更多