tab与blank

来源:互联网 发布:双色球算法公式 编辑:程序博客网 时间:2024/04/18 21:41

    空格还是Tab?

用空格的原因:

1.各人的缩进习惯不同.

网上参与讨论的人中,有人习惯用一个空格缩进的,有人用两个,还有用四个的.但是用tab不可以实现这样的功能.一般在编辑器中就是四个字符宽度.

2.C++和pascal编译器对文本中TAB的识别问题.

TAB在字符串中出现做为缩进时,可能会出现 "string literal has a character with value 0x9 not in the enumeration type std. standard charracter" 的错误提示

3.对于一部分编辑器会把TAB显示不正确.

这个可以显示的多种多样的.有的显示一个黑块,有的显示为1个字符宽度,有的两个有的四个字符宽度,还有BT的显示为8个的.但是目前测试在visual studio系列,Notepad2,Notepad++,Eclipse及其衍生品,Dreamweaver8/CS2/CS3中均显示为四个字符宽度.

使用Tab的原因:

1.标准缩进

TAB字符被认为是一次缩进的标准,在大部分常用的编辑器中均有支持,代码风格以此方式较容易统一,否则会因为个人习惯的不同导致缩进的不同.看起来也会不舒服的.而且这个字符之所以存在,这几乎是它唯一的功能.

2.简单

每多一级缩进只需要按键一次,而空格则需要按多次,当然有的人会使用Tab键转换为四个或几个空格的功能,也是可以的.但是我们要删除一个缩进的话不得不按四次BackSpace了.(在相当多的编辑器中是不支持shift+Tab删除四个空格的)

3.存储空间占用较少

我们在写类的时候,类体中至少是要有一个缩进的,按照通常情况,要占用4个字符.这会加大一些文件的体积.

4.Python的语法规则

在Python中,语句关系的区分方式是根据缩进区分的,即便是很有经验的Python程序员,也可能陷入tab和空格混用的陷阱当中.所以统一使用Tab可能会解决这一问题.

个人建议:

在C++和Pascal等较为低级的编程语言的编码时尽量使用空格代替Tab,特别是字符串当中,最好不要使用Tab格式化.

在Java,.Net系列,PHP,Javascript,HTML,CSS等高级语言当中缩进代码部分时使用Tab,而输出内容仍然使用空格代替.