首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择PascalCasing而不是camelCasing的原因是什么,或者从编程语言设计POV中选择的原因是什么?

选择PascalCasing而不是camelCasing的原因是什么,或者从编程语言设计POV中选择的原因是什么?
EN

Software Engineering用户
提问于 2014-04-07 21:35:37
回答 2查看 431关注 0票数 1

我喜欢这两种语言,但我注意到当您想编辑代码时,使用camelCasing作为成员的语言有时需要更多的调整。例如(在Python中):

代码语言:javascript
复制
node.customData()

vs

代码语言:javascript
复制
node.setCustomData()

定制更换套管。如果是这样,就可以避免:

代码语言:javascript
复制
node.getCustomData()

例如,在C#中,他们将使用PascalCasing。

我知道有些人甚至不用套管,所以:

代码语言:javascript
复制
node.getcustomdata()

似乎脚本语言通常更喜欢camelCasing而不是PascalCasing,而不是更轻松?

有理由从编程语言设计POV中选择一个而不是另一个吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2014-04-07 21:56:20

确实没有确凿的证据表明,比起帕斯卡套管,更喜欢骆驼壳。虽然这并不能阻止人们就这件事争吵很多。如果你是一致的,那么两者之间也没有太大的区别。

没有大小写的缺点,没有提供任何提示的词从哪里开始,这使得它更难从精神上分析,并可能导致不幸的歧义。

最后,从编程语言的角度来看,这确实不是一个设计选择,而是一个标准库的观点。这似乎是一个愚蠢的区别,但没有什么能真正阻止您构建一个新的标准库并导入它。事实上,在Haskell,人们经常这样做。没有什么可以阻止您使用新的标准库更改约定,因为这样一切都可以保持一致。

票数 5
EN

Software Engineering用户

发布于 2014-04-07 22:24:00

在许多语言中,惯例是对类型使用PascalCasing (我能想到的唯一例外是lisps和STL)。使用camelCasing或snake_casing可以方便地以变量的类型命名(如void foo(Bar bar))。

snake_casing也允许这样做。您必须更改更多的字母(删除下划线和去头字母),但您可以将get_set_前缀为完整的属性名。有些语言使用这种语言,有些语言使用这种语言。

虽然C#听起来可能会受益于在属性名称(public CustomData customData{get; set;})等方面使用camelCasing,但它必须考虑.NET框架的另一种主要语言-- Visual Basic.NET。VB.NET是不区分大小写的,CustomDatacustomDatacUstOMdAta之间不能区别。通过使用PascalCased C#,确保在VB.NET中使用C#类时不会发生名称冲突。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/235185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档