长沙Java培训带你分析一道开放性的面试题
时间:2018-02-26 15:05:59 | 来源:千锋长沙培训机构 | 作者:千锋上次,千锋长沙java培训班的老师有个学生,在面试的时候,被问到了一个神奇的问题:你换行的时候用Tab还是空格?
那位同学后来表示他非常想知道这种类似于你为什么用Vim不用Emacs用Linux不用Windows的问题是怎么问出来的。但是毕竟是千锋老师教出来的学生,表达能力还是很强滴~下面是这位同学后来复述的回答(没错千锋的师生关系很好,毕业了也时长有联系),千锋老师以为还是可圈可点的。
Tab 占用少的空间
使用 Tab 的文件或许和不使用 Tab 的在 gzip 压缩后并没有明显的区别。但是不使用 Tab 的话,就得多一道程序处理你的代码,以确保文件大小合理。你不得不依赖压缩工具。拿注释举例来说,注释很有用,即使无法压缩代码也要有注释。Tab 可以达到和空格同样的效果,所以不用 Tab 的话,平白无故就会膨胀代码。
Tab 可个性化
每个编辑器都可以调整 Tab 字符的宽度。这通常被认为是 Tab 的缺陷,但是实际上,这正是 Tab 的优势所在。有了 Tab,别人就能以自己觉得方便的格式查看你的代码,而不是用你喜欢的格式。Tab 将代码表现从逻辑中分离出来,就像是 CSS 将页面表现从 HTML 中分离出来一样。Tab 使读者方便,而不是让编写者掌控一切。用空格就像是在说:“我不管你读代码时方不方便,这是我的代码,你就得按照我的方式来”。
Tab 利于合作
每个程序员都有自己不同的想法,在团队合作中这种个性要重视。有的程序员喜欢缩进 2 个空格宽,有的喜欢缩进 4 个空格宽。使用 Tab,每个程序员可以用自己喜欢的缩进方式编写代码,编辑器会根据所设置的 Tab 宽度自动调整缩进,而不必手动调整或者机械地在pull之后改成自己的缩进风格,而在提交前又改回统一的风格。
不需依赖特定工具
使用空格时,缩进实际上是 N 个字符而不是一个,只不过编辑器展现出来的看起来像是一个字符而已。而使用 Tab,你每次按下 Tab 键,编辑器会插入 N 个空格;每次按回退键或是在缩进处删除字符时,编辑器会自动删除 N 个字符。当你不能用编辑器,而被迫使用其它工具时(例如当在嵌入了像是 codemirror 等工具的 webapp 中写一小段代码时),你会被空格丑哭的。尤其是 codemirror 会将 Tab 转换为空格,别人看你的代码时也会被丑哭。
Tab 易于选择
假设你要选中所有缩进,想把缩进加倍或是将它们换成空格的话,用 Tab 就很容易操作。因为这是正它的意义所在,Tab 就是为了这类情况发明的。而空格的意义就多了,所以你无法简单的查找、替换空格。这种并不是为了发挥某种工具的原本功能而使用它的行为,我们通常称之为 hack。使用空格来进行缩进就是一种 hack。
怎么样,是不是逻辑清晰,调理顺畅?根本不存在所谓的“程序员不会表达”对不对?想要和他一样强吗?那就快来千锋长沙java培训班吧!
上一篇:如何选择Java视频教程 零基础来千锋培训班学习
下一篇:学习Python该如何选择?长沙Python培训班哪家好?