有哪些不同类型的案例?

Posted

技术标签:

【中文标题】有哪些不同类型的案例?【英文标题】: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ş)在土耳其语中表示串肉 【参考方案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

以上是关于有哪些不同类型的案例?的主要内容,如果未能解决你的问题,请参考以下文章

有哪些不同类型的 Windows 令牌以及它们有何不同?

有哪些不同类型的索引,每种索引的好处是啥?

有哪些不同类型的设计模式?

iOS中都有哪些不同类型的通知以及如何正确配置它们?

iOS中都有哪些不同类型的通知以及如何正确配置它们?

网站究竟有哪些类型呢?