【问题标题】:What are the different kinds of cases?有哪些不同类型的案例?
【发布时间】:2013-06-23 22:52:31
【问题描述】:

我对不同类型的标识符案例以及人们如何称呼它们感兴趣。您是否知道此列表中的任何新增内容或其他替代名称?

  • myIdentifier : Camel case (e.g. in java variable names)
  • MyIdentifier:大写驼峰式大小写(例如在 java 类名中)
  • my_identifier : Snake case (e.g. in python variable names)
  • 我的标识符:烤肉串盒(例如在球拍名称中)
  • myidentifier : 扁平大小写(例如在 java 包名中)
  • MY_IDENTIFIER:大写(例如在 C 常量名称中)

【问题讨论】:

  • My1d3nT1F13r : Leet 案例 ^_^
  • 为什么叫kebab-case?名字从何而来?
  • 想象一个烤肉串通过标识符运行。
  • 为了纠正@AustinCoryBart 对烤羊肉串的回应,想象一个穿过标识符。单词之间的破折号(-)类似于烤肉串,单词类似于烤肉串上的肉和蔬菜。
  • @AustinCoryBart shish(实际上拼写为şiş)在土耳其语中表示串肉

标签: case naming camelcasing


【解决方案1】:
  • flatcase
  • kebab-case。也称为caterpillar-casedash-casehyphen-caselisp-casespinal-casecss-case
  • camelCase
  • PascalCaseCapitalCamelCase
  • snake_casec_case
  • MACRO_CASEUPPER_CASE
  • COBOL-CASETRAIN-CASE

【讨论】:

  • mumblecase 是一个相当不错的平板箱替代品
【解决方案2】:

名称要么是通用的,在一种语言之后,要么是丰富多彩的;大多数人在特定社区之外没有标准名称。

这些命名约定有许多名称(名称的名称!);参见Naming convention: Multiple-word identifiers,尤其是CamelCase(UpperCamelCase,lowerCamelCase)。但是,许多没有标准名称。考虑一下 Python 风格指南 PEP 0008 - 它使用通用名称(例如“lower_case_with_underscores”)来调用它们。

一种约定是用众所周知的用途命名。这导致:

  • 帕斯卡大小写
  • MACRO_CASE(C 预处理器宏)

…并建议这些名称,这些名称并未被广泛使用:

  • c_case(在 K&R 和标准库中使用,如 size_t)
  • lisp-case、css-case
  • COBOL 案例

另外,还有一些说明性的名称,其中最确定的是 CamelCase。 snake_case 是最近的(2004 年),但现在已经很成熟了。 kebab-case 是最近才出现的,但尚未建立,可能起源于 Stack Overflow! (What's the name for dash-separated case?) 还有更多丰富多彩的建议,例如毛毛虫-case、Train-case(首字母大写)、caravan-case等。

【讨论】:

  • 不应该是“caterpillar-case”而不是“caterpillar_case”吗?
【解决方案3】:
+--------------------------+-------------------------------------------------------------+
| Formatting               | Name(s)                                                     |
+--------------------------+-------------------------------------------------------------|
| namingidentifier         | flat case/Lazy Case                                         |
| NAMINGIDENTIFIER         | upper flat case                                             |
| namingIdentifier         | (lower) camelCase, dromedaryCase                            |
| NamingIdentifier         | (upper) CamelCase, PascalCase, StudlyCase, CapitalCamelCase |
| naming_identifier        | snake_case, snake_case, pothole_case, C Case                |
| Naming_Identifier        | Camel_Snake_Case                                            |
| NAMING_IDENTIFIER        | SCREAMING_SNAKE_CASE, MACRO_CASE, UPPER_CASE, CONSTANT_CASE |
| naming-identifier        | Kebab Case/caterpillar-case/dash-case, hyphen-case,         |
|                          | lisp-case, spinal-case and css-case                         |
| NAMING-IDENTIFIER        | TRAIN-CASE, COBOL-CASE, SCREAMING-KEBAB-CASE                |
| Naming-Identifier        | Train-Case, HTTP-Header-Case                                |
| _namingIdentifier        | Undercore Notation (prefixed by "_" followed by camelCase   |
| datatypeNamingIdentifier | Hungarian Notation (variable names Prefixed by metadata     |
|                          | data-types which is out-dated)                              |
|--------------------------+-------------------------------------------------------------+

【讨论】:

    【解决方案4】:

    MyVariable : Pascal Case => 用于Class

    myVariable : Camel Case => 在 Java、C# 等中用于 variable

    myvariable : Flat Case => 用于 Java 中的 package

    my_variable : Snake Case => 在 Python、PHP 等中用于variable

    my-variable : Kebab Case => 用于css

    【讨论】:

      【解决方案5】:

      对于Python,最好使用snake_case作为变量和函数名,UPPER_CASE作为常量(即使我们没有任何关键字专门说明我们的变量是一个常量)和PascalCase类名。

      不建议将camelCase 用于 Python(尽管 Javascript 等语言将其作为主要大小写),并且kebab-case 将无效,因为 Python 名称不能包含连字符 (-)。

      variable_name = 'Hello World!'
      
      def function_name():
          pass
      
      CONSTANT_NAME = 'Constant Hello World!!'
      
      class ClassName:
          pass
      

      【讨论】:

        【解决方案6】:

        最常见的案例类型: 骆驼案 蛇盒 烤肉串盒 帕斯卡案例 大写(带蛇形大小写)

        驼峰式 camelCase 必须 (1) 以小写字母开头,并且 (2) 每个新的后续单词的首字母大写并与前一个单词复合。

        变量camel case var 的驼峰式例子是camelCaseVar

        snake_case snake_case 就像用“_”替换所有空格并将所有单词小写一样简单。可以snake_case 并混合camelCase 和PascalCase,但imo 最终会达到目的。

        变量snake case var 的蛇形例子是snake_case_var

        烤肉串 kebab-case 就像用“-”替换所有空格并将所有单词小写一样简单。可以将 kebab-case 和 camelCase 和 PascalCase 混合使用,但这最终会达不到目的。

        变量kebab case var的烤肉串例子是kebab-case-var

        PascalCase PascalCase 的每个单词都以大写字母开头(与 camelCase 不同的是,第一个单词以小写字母开头)。

        变量pascal case var 的帕斯卡大小写示例是PascalCaseVar

        注意:通常会将此与驼峰式案例混淆,但它完全是一个单独的案例类型。

        UPPER_CASE_SNAKE_CASE UPPER_CASE_SNAKE_CASE 将所有空格替换为“_”并将所有字母转换为大写。

        变量upper case snake case var的大写蛇形例子是UPPER_CASE_SNAKE_CASE_VAR

        【讨论】:

        • UPPER_CASE_SNAKE_CASE 也称为 SCREAMING_SNAKE_CASE
        猜你喜欢
        • 2012-01-17
        • 2020-09-13
        • 2017-10-07
        • 1970-01-01
        • 2010-09-27
        • 2013-09-12
        • 2010-12-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多