ste*_*nvh 2 programming-languages case-sensitive case-insensitive
我在Delphi中做了很多项目,它使用不区分大小写的语言Pascal,我想知道区分大小写的语言的优点是什么.
杰森认为 "案例不敏感会带来很多歧义".我不同意.如果您意识到该语言不区分大小写,那么即使您从未编写过前者,您也知道这WHILE意味着同样的事情while.变量和函数也一样; 骆驼套管很好,但是第一个字母还是资本还是没有?那些名称以下划线开头的函数呢?如果不敏感的语言没有问题:_fooBar将做得很好_FooBar.那么贾森所指的模糊性在哪里呢?是的,你可以用不同的方式写一个变量,但意思是明确的!FooBar== foobar!
在同一个线程Delnan 说那Capitalization is the difference between "I had to help my uncle Jack off a horse.." and "I had to help my uncle jack off a horse..".非常聪明 :-).但是,与专业案例敏感相比,这是一个反对意见:您是否会因为单一的大写错误而接受您的代码变得混乱?同样,在不区分大小写的语言中,如果Jack是一个人,那么也是如此jack.
问题:是否有人在区分大小写的语言中使用此功能,您可以通过不同的大写来定义两个不同的变量或函数?因为这是我能看到的唯一优势.当然,你会说,我用驼峰套管写了变量名,而常量全是大写.但IMO他们是不相容的; userName作为一个变量是有道理的,但USERNAME作为一个常数不是.
(我意识到许多程序员使用区分大小写的语言,所以我准备迎接不受欢迎的接待:-))
编辑
此问题的触发器是Lynda.com的"Flash CS3 Professional中的ActionScript 3.0"培训视频,其中Todd Perkins花费了一半的时间来强调大写:-)
是的,我绝对在C#中一直使用这个:
private readonly string name;
public string Name { get { return name; } }
Run Code Online (Sandbox Code Playgroud)
我倾向于使用区分大小写的语言,并没有真正看到它们的缺点 - 除了其他任何东西,它们都会强制套管的一致性.
我认为这真的是个人偏好的事情.