我对不同类型的标识符情况以及人们对它们的称呼感兴趣。您知道此列表中有任何添加内容或其他替代名称吗?
myIdentifier
:驼峰式大小写(例如在java变量名中)MyIdentifier
:大写驼峰式大小写(例如在java类名中)my_identifier
:蛇形命名法(例如在Python变量名中)my-identifier
:烤肉串案例(例如球拍名称)myidentifier
:扁平化(例如在java包名称中)MY_IDENTIFIER
:大写(例如在 C 常量名称中)flatcase
或 mumblecase
kebab-case
。也称为 caterpillar-case
、param-case
、dash-case
、hyphen-case
、lisp-case
、spinal-case
和 css-case
camelCase
PascalCase
或 CapitalCamelCase
snake_case
或 c_case
CONSTANT_CASE
、MACRO_CASE
、UPPER_CASE
或 SCREAM_CASE
COBOL-CASE
或 TRAIN-CASE
名称要么是通用的、以某种语言命名的,要么是丰富多彩的;大多数在特定社区之外没有标准名称。
这些命名约定有很多名称(名称的名称!);请参阅命名约定:多字标识符,特别是CamelCase(UpperCamelCase、lowerCamelCase)。然而,许多人没有标准名称。考虑 Python 风格指南 PEP 0008 – 它通过通用名称来调用它们,例如“lower_case_with_underscores”。
一个约定是以众所周知的用途命名。结果是:
...并建议这些名称,但并未广泛使用:
或者,还有一些说明性的名称,其中最成熟的是 CamelCase。 snake_case 是最近出现的(2004 年),但现在已经很成熟了。 kebab-case 是最近出现的,尚未建立,可能起源于 Stack Overflow! (用破折号分隔的 case 叫什么名字?)还有很多更丰富多彩的建议,比如 Caterpillar-case、Train-case(首字母大写)、caravan-case 等。
+--------------------------+-------------------------------------------------------------+
| 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) |
|--------------------------+-------------------------------------------------------------+
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
最常见的案例类型: 骆驼箱 蛇案 烤肉串案例 帕斯卡案例 大写(带蛇壳)
驼色案例 驼峰式命名法必须 (1) 以小写字母开头,并且 (2) 每个新的后续单词的第一个字母都大写,并与前一个单词复合。
变量
camel case var
的驼峰式示例是 camelCaseVar
。
蛇箱 Snake_case 就像用“_”替换所有空格并将所有单词小写一样简单。可以使用蛇形命名法并混合驼峰命名法和帕斯卡命名法,但在我看来,这最终达不到目的。
变量
snake case var
的蛇形例子是 snake_case_var
。
烤肉串盒 kebab-case 非常简单,只需用“-”替换所有空格并将所有单词小写即可。可以使用 kebab-case 并混合驼峰命名法和帕斯卡命名法,但这最终达不到目的。
变量
kebab case var
的烤肉串案例示例是 kebab-case-var
。
帕斯卡案例 PascalCase 的每个单词都以大写字母开头(与 CamelCase 不同,第一个单词以小写字母开头)。
变量
pascal case var
的帕斯卡情况示例是 PascalCaseVar
。
注意:这种情况很容易与驼峰式大小写混淆,但它完全是一种单独的大小写类型。
UPPER_CASE_SNAKE_CASE UPPER_CASE_SNAKE_CASE 正在用“_”替换所有空格,并将所有字母转换为大写。
变量
upper case snake case var
的大写蛇形字母示例是 UPPER_CASE_SNAKE_CASE_VAR
。
特别是对于 Python,最好使用
snake_case
表示变量和函数名称,UPPER_CASE
表示常量(即使我们没有任何关键字专门说明我们的变量是常量),PascalCase
表示类名字。
不建议在 Python 中使用 camelCase
(尽管 Javascript 等语言将其作为主要外壳),并且 kebab-case
将无效,因为 Python 名称不能包含连字符 (-
)。
variable_name = 'Hello World!'
def function_name():
pass
CONSTANT_NAME = 'Constant Hello World!!'
class ClassName:
pass