StudlyCaps和camelCase有什么区别?

47

PSR建议,方法名必须使用camelCase命名法,类名必须使用StudlyCaps命名法。


8
StudlyCaps(MyClass、ClientServiceClass、MyInterface......)camelCase(myVar、i、iCount......):StudlyCaps指的是以大写字母开头并且单词之间没有下划线或空格的命名方式,例如MyClass、ClientServiceClass、MyInterface等。而camelCase则是指所有单词的第一个字母小写,除了第一个单词外,其他单词的首字母都要大写,例如myVar、i、iCount等。 - Eric
5个回答

68

StudlyCaps(又称为 PascalCase),意味着每个子单词的第一个字母大写。camelCase则意味着像骆驼一样,驼峰在中间,因此第一个字母大写。

请参考Microsoft .NET标准进行比较。

其他常见的大小写风格有 snake_case,其中所有的单词都用小写字母和下划线连接起来;还有 kebab-case,与之相同但使用连字符。


3
值得注意的是,在 PSR 之外,Studly Caps 指的是任意大小写混合的命名方式。https://en.wikipedia.org/wiki/Studly_caps - broofa
1
事实上,StudlyCaps 看起来与 CamelCase 相同。你所解释的 CamelCase 是“lowerCamelCase”,即将第一个字母小写。 - Florian Doyen

25

驼峰式大小写是指名称中每个子单词的第一个字母大写。整个名称的第一个字母可以是大写或小写,并且在编程中通常(总是?)是小写。

骆驼拼音大写有点奇怪。有大写字母,但它们可以在任何一个字母上,根据某些规则而不仅仅是子单词的开头。经典的例子是(曾经的)HoTMaiL。

我对PSR的理解是,它们的意图是在两种情况下都将每个子单词大写,其中类具有首字母大写字母,而方法具有首字母小写字母。


11
在PSR-12中,对于StudlyCaps有一个解释:
引用: “在PSR-1中,术语‘StudlyCaps’必须被解释为PascalCase,其中每个单词的首字母都大写,包括第一个字母。”
来源:https://www.php-fig.org/psr/psr-12/#21-basic-coding-standard 简而言之:
为了清晰起见,有两种驼峰命名法版本:
- UpperCamelCase(首字母大写,也称为PascalCase) - lowerCamelCase(首字母小写,也称为dromedaryCase)
一些人和组织,尤其是微软(以及似乎是PSR-1的作者们),仅将术语camel case用于lowerCamelCase。
PascalCase(或StudlyCaps)指的就是UpperCamelCase。

2

当标识符有两个单词,每个单词的首字母都是大写字母时,我称之为PascalCase。在C#中,我用它来命名方法名称,而camelCase用于变量名称和实例字段。对于类名也使用PascalCase。


0

驼峰命名法:

$camelCase $myVar

只有子词的首字母应大写,而不是属性本身的首字母

斯塔德利大写:

$StudlyCaps $MyVar

属性以大写字母开头,子词的首字母也是大写

或许你会觉得这个链接有用: psr属性命名建议


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接