代码缩进对齐用空格还是制表符?

本文探讨了编程中代码缩进使用空格还是制表符的争议,强调Python对一致缩进的规定,并指出对齐应使用空格以确保跨平台一致性。作者推荐在缩进上使用制表符,而在代码对齐时使用空格,解释了原因和实际操作建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码缩进对齐用空格还是制表符?
这是一个一直都存在争议的问题,C、C++语言没有要求。
而python作为一门新兴语言,它规定了必须保持一致的缩进,不能混用空格和制表进行缩进。


我的看法

首先:空格和制表符的特点
空格是可显示的空白字符,固定占用1个字符的宽度。
制表符是控制字符,占用的宽度与编辑器的设置相关,占用宽度不固定。

为什么有的程序员很歧视制表符,就是因为用制表符做代码对齐的时候,在不同的编辑器下面会得到不同的对齐效果。

比如下面的代码:
使用制表符,制表宽度为4的时候代码是对齐的。

 但是如果编辑器的制表宽度为8的时候,代码是不对齐了。

其次:代码缩进和对齐是两个不同的概念
        缩进: 针对行首,向右缩进,让代码有层次感;
        对齐: 行首以外的地方,让代码纵向对齐;

python要求代码必须缩进,但是并没有要求一定要对齐。
python没有花括号,只能用缩进的方式来判断代码层次。
缩进如果用空格,其建议值是4个空格,或者直接采用制表符缩进。

void main(int argc, char **argv)
{ /* 缩进:花括号顶格,下面的代码缩进1级 */
    int   a;
    short ab;
    char  abc; /* 对齐:变量名左对齐 */
    for(a = 0; a < 100; a++)
    {   /* 缩进:花括号下面的代码缩进2级 */
        ab  = a + 10; /* 对齐:操作符中间对齐 */
        abc = a * 10;
    }
}

结论:到底用空格还是制表符?

这个问题,缩进和对齐我们要分开来讨论
对于代码缩进,我推荐用制表符。
对于代码对齐,我推荐用空格。

代码对齐不能用制表符,而必须使用空格,
因为不同的编辑器制表符宽度可能不一样,不能保证代码严格对齐,而空格没有这个问题。


原因:
1.制表符输入方便,空格需要多敲几次,有可能出现空格数量不是4的倍数的情况; 

有人会说,现在的编辑器,都可以自动把TAB键变为4个空格啊?
是的,输入TAB变4个空格没毛病,但是回退就不行啊。
对于制表符缩进,只要按一次回退就可以,而空格方式要按4次回退键!

我见过一段代码被多人频繁修改后,采用4个空格缩进,在第2层for循环时,本来应该是缩进12个空格,但最后变成了11个空格。

2.修改编辑器设置可以实现不同缩进宽度的视觉效果;
3.制表符生成的源码文件要比空格体积小,因为制表符只占1个字节,而4个空格占4个字节;

源码文件变小了,理论上还可以略微提高编译速度;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值