Space vs Tab

在程式碼排版中有兩大陣營

Space

public void test() {
    System.out.println();
}
  1. 因為 space 的寬度是固定的,所以用 space 不會跑版
  2. 既然是固定,相對的就很死,無法透過設定去調整版面
  3. 要敲比較多下,但可用 soft tab 解決。也就是按 tab 實際出 space

Tab

public void test() {
	System.out.println();
}
  1. 語意上比較符合縮排的功能
  2. 不同系統、程式解析 Tab 的寬度不一樣,2468都有,所以會跑版
  3. 可以設定編輯器調整成自己習慣的 tab 寬度,而不用修改原始碼

Eclipse IDE 預設是以 Tab 縮排,如果要換成 Space 很多地方都需要調整設定
可以使用方便的工具 EditorConfig 自動套用定義好的規範。

結論

如果是公司或團隊沒什麼好說的,只能跟著規範走。
如果是個人喜好也沒什麼好說的,爽就好。不論哪邊都有優缺點,也都有解。
也因此這個問題是工程師的世紀爭論,甚至國外還有搬出薪資的統計
會不會太認真了點 Orz