1.要求
阿里巴巴在Java开发手册第一章编程规约的第三节代码格式的第五条规定:【强制】 采用四个空格缩进,禁止使用tab键缩进。
2.区别及作用
Tab键和空格有什么区别呢?Tab键对应的ASCII为0x09, 而空格的ASCII码为0x20。一般Tab键的宽度和四个空格的宽度差不多(这个可以更改),但是不同的编辑器对Tab键会有着不同的解释,有的解释为四个空格宽度,有的解释为八个空格宽度。
例如下面这段代码,一个是在Sublime Text 3中显示(Tab设置为4个空格宽度),一个是在notepad++中显示(Tab设置为8个空格宽度),两者都采用Tab键进行缩进。对比可以看出代码缩进显示风格不同。而我在记事本中查看的时候显示更为混乱。
//Sublime Text 3 中显示
public class Tab {
public static void main(String[] args) {
System.out.println("Tab");
}
}
//Notepad++ 中显示
public class Tab {
public static void main(String[] args) {
System.out.println("Tab");
}
}
如果使用空格缩进则不会出现这个问题,无论Tab键设置的宽度为多少,所有编辑器打开的代码缩进格式都是相同的。这也就是为什么手册里面要求必须使用空格来进行缩进。但是使用空格缩进有个缺点就是占用的空间多了,一个Tab键就是一个ASCII码字符,而一个空格也是一个ASCII码字符。如果利用空格来达到Tab键的缩进效果,那就可能要敲4个或者8个空格,也就要占用4个或8个字符的空间。
3.设置方法
在实际使用空格来达到Tab键缩进效果的过程中,我们一般不大可能一个一个空格的敲,我们可以在编辑器设置一下,将Tab键设置为一次插入4个空格,这样就不用一个一个敲了。
首先在Sublime Text 3 中我们可以打开Preference->Settings->Users里面添加下面的配置:
"tab_size": 4,
"translate_tabs_to_spaces": true




