IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

用TAB缩进, 用SPACE对齐

idea's blog 2013-10-15 13:59:04 累计浏览 4,252 次
本机暂存

   TAB vs SPACE 是一个争论不休的话题. 不过, 对于大部分编程语言, 混用 TAB 和 SPACE(空格) 缩进也可以正常工作, 除非你用的是语法非常傻逼的语言如 Python(仅仅是语法傻逼, Python 的对象模型和库还是很有用的, 大家可以试试 Cpy 编程语言 - 用 C 语言语法写 Python 代码).

   首先, 我遇到的大部分项目和大部分程序员, 都将 TAB 设置为 4 个字符的宽度, 所以对于缩进来说, 用 TAB 还是 SPACE, 显示效果都是一样的. 当然, 对于使用了所按即所得的编辑器的人, 删除 4 个空格要按 4 次键盘, 确实很烦人.

   不过, Google 的编程风格是用 2 个空格来缩进, 我比较感兴趣 Google 的工程师是敲两次空格键来缩进, 还是设置了按键精灵, 自动把 TAB 输入转成两个空格. 反正, 用 2 个空格还是用 4 个空格, 由他们去争论吧. 如果用了 TAB, 至少没有数量上的争论, 没人会愚蠢到用多于两个 TAB 来表示一级缩进.

   其实, 用 SPACE 的主要目的, 是为了让代码在竖直空间上对齐(列对齐), 包括注释和赋值, 如:

a   = 1;   // 1
abc = 200; // 2
aa  = 3;   // 3

   但是, 这不是在缩进, 而是在对齐, 所以在这个地方讨论 TAB vs SPACE 是愚蠢的! 什么是缩进? 显然缩进是对于行首来说的. 对于缩进来说, 还有什么理论反对 TAB? 难道你怕麻烦不想按 4 下空格键? 还是你的文本编辑器不够智能到自动区分缩进和对齐?

   如果你用 4 个空格, 哪天要拷贝 Google 的 2 个空格的代码, 不是很烦人吗? 如果 Google 也用 TAB 来缩进不是很好吗?

   所以, 用TAB缩进, 用SPACE对齐.

    同分类推荐文章

    1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
    2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
    3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

    查看更多 开发者 文章 →

    建议继续学习

    1. 用Hyer来进行网站的抓取 (累计阅读 158,251)
    2. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 107,164)
    3. 程序员技术练级攻略 (累计阅读 35,471)
    4. python实现自动登录discuz论坛 (累计阅读 32,834)
    5. python编程细节──遍历dict的两种方法比较 (累计阅读 20,371)
    6. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,918)
    7. Chrome和goagent的配置方法,你懂的 (累计阅读 16,843)
    8. 30分钟3300%性能提升――python+memcached网页优化小记 (累计阅读 13,742)
    9. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,301)
    10. 我的PHP,Python和Ruby之路 (累计阅读 13,147)