1
17
在支持区分大小写的语言中,有两个成员只是根据大小写来区分并不一定是不好的做法。例如,这里有一个相当常见的C#:
就我个人而言,我对区分大小写很满意,特别是它允许像上面这样的代码,成员变量和属性都遵循约定,避免了混淆。 请注意,区分大小写也有文化方面。。。不是所有的文化都会认为相同的人物是对等的。。。 |
2
9
为了区分类和实例,我喜欢区分大小写。
|
3
8
interesting example 由M。桑丁在相关讨论中:
你能马上看到问题吗?我不能。。。 |
4
4
为什么这是一个问题?好吧,不区分大小写是很难添加的,除非你在一个支持字符的很小的域中(特别是US-ASCII)。大小写转换规则因地区而异(土耳其的规则与世界上其他国家的规则不一样),不能保证翻转一个位会做正确的事情,也不能保证它总是在相同的位和相同的前提下(IIRC,在某些语言中,有一些非常复杂的规则,当元音转换成大写字母时,要抛弃音调符号,当元音转换成小写字母时,要重新引入音调符号。我完全忘了细节是什么。) 如果你是区分大小写的,你就忽略所有这些;只是比较简单(请注意,您仍然应该注意UNICODE规范化表单,但这是另一回事,它适用于您正在使用的任何大小写规则。) |
5
3
|
6
2
我敢肯定,最初这是一个性能的考虑。将字符串转换为大写或小写以进行无大小写比较并不是一个昂贵的操作,但它也不是免费的,而且在旧的系统上,它可能增加了当时的系统无法处理的复杂性。 当然,现在的语言喜欢彼此兼容(例如VB不能区分C类或函数,它们只区分大小写),人们习惯用相同的文本命名,但大小写不同(见Jon Skeet的答案-我经常这样做),无案例语言的价值并不足以超过这两种语言。 |
7
2
你不能理解为什么区分大小写是个好主意,是因为它不是。这只是C语言的一个奇怪的怪癖(比如基于0的数组),现在看起来很“正常”,因为有太多语言复制了C语言的功能。
|
8
1
区分大小写的比较(从忽略规范等价性的天真观点来看)是微不足道的(简单地比较代码点),但是区分大小写的比较并没有很好的定义,并且在所有情况下都非常复杂,规则也不可能记住。实施它是可能的,但会无意中导致意外和令人惊讶的行为。顺便说一句,有些语言如Fortran和Basic一直不区分大小写。 |
Sudhanva c · 如何提高编码技能?[已关闭] 6 年前 |
hoffm · 为什么Ruby找不到调用方类中定义的常量? 7 年前 |
Thamme Gowda · “lambda”关键字的较短替代项? 7 年前 |
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 9 年前 |
lucasasecas · 有可能静态地使用动态语言吗? 10 年前 |
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 10 年前 |
dallin · 数组中的逗号运算符是否有名称? 10 年前 |