有哪些不同类型的案例?
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-case
、dash-case
、hyphen-case
、lisp-case
、spinal-case
和 css-case
camelCase
PascalCase
或 CapitalCamelCase
snake_case
或 c_case
MACRO_CASE
或 UPPER_CASE
COBOL-CASE
或 TRAIN-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以上是关于有哪些不同类型的案例?的主要内容,如果未能解决你的问题,请参考以下文章