【发布时间】:2015-12-20 07:22:45
【问题描述】:
PSR 建议,方法名必须在 camelCase 中声明,类名必须在 StudlyCaps 中声明。
【问题讨论】:
-
StudlyCaps (MyClass, ClientServiceClass, MyInterface...) camelCase (myVar, i, iCount, ...)
PSR 建议,方法名必须在 camelCase 中声明,类名必须在 StudlyCaps 中声明。
【问题讨论】:
StudlyCaps,也称为 PascalCase,表示每个子词的第一个大写字母大写。 camelCase 像骆驼一样暗示驼峰在中间,因此第一个字母不大写。
Compare Microsoft's standards for .NET.
其他众所周知的大写样式是snake_case,其中所有单词都以小写和下划线连接,而kebab-case,相同但使用连字符。
【讨论】:
CamelCase 是名称中每个子词的首字母大写的地方。全名的第一个字母可以大写也可以小写,编程中一般(总是?)小写。
StudlyCaps 有点奇怪。有大写字母,但根据某些规则,它们可以位于任何字母处,而不仅仅是子词的开头。经典的例子是(曾经)HoTMaiL。
我对 PSR 的理解是,它们的意图是每个子词在两种情况下都应大写,类具有首字母大写,方法首字母小写。
【讨论】:
在 PSR-12 中有对 StudlyCaps 含义的解释:
PSR-1 中的术语“StudlyCaps”必须解释为 PascalCase,其中每个单词的第一个字母都大写,包括第一个字母。
来源:https://www.php-fig.org/psr/psr-12/#21-basic-coding-standard
附言
为了清楚起见,驼峰式大小写有两种替代方式 - 驼峰大写(首字母大写,也称为 Pascal 大小写)和驼峰小写(首字母小写,也称为 Dromedary 大小写) .
一些人和组织,尤其是微软(并且似乎也是 PSR-1 的作者),仅使用术语骆驼大小写来表示小骆驼大小写。 帕斯卡大小写仅表示大驼峰大小写。
【讨论】:
当标识符有两个单词,每个单词都以大写字母开头时,我实际上称它为 PascalCase。我在 C# 中将它用于方法名称,并将 camelCase 用于 variablesNames、instanceFelds.. ClassNames 也用于 PasaclCase..
【讨论】: