瀏覽單個文章
darkangel
Major Member
 
darkangel的大頭照
 

加入日期: Aug 2001
文章: 211
很早就有人提出 4-space 這觀念,如 "C 的風格與藝術"裡就有,大部份的人知道 PEP-8,只是因為 PEP-8 比較有名氣而已。
古代 editor 的 tab 定位幾乎都是 8 空格,現在有的 editor 將 tab 預設為 4 空格,其實也是因應 4-space 的 style,如果用 tab,你將無法知道別人 editor 使用 tab-4 還是 tab-8,使用 space 的好處是,不管別人使用什麼 editor,程式碼顯示出來的縮排永遠是一致的,有些 code review 工具甚至是網頁介面,這時候如果用 tab 看起來就會原來的有點出入。
所以這是為什麼 space 看起來像是佔了上風,其實不是 space 比較好,而是為了要協同作業,因為通常一個有生產力的團隊合作,並不會限制任何人使用什麼樣的工具,別說工具了、甚至使用的語言都不太一樣,比如說前端會用 JS/HTML,後端可能是 PHP, Python, Java, C# 甚至是 C 等等,都規定 space 的話,在 code review 上會比較方便,這也是為什麼許多 open source 都是用 space 當縮排的原因,因為你的 code 是要放出來讓大家檢視的,現代化 IDE/editor 都可以設定 按下 tab 轉成幾個 space,這點其實沒很大問題。
如果只有兩三個人寫程式,那其實用 tab 或 space 沒人會在乎,但是如果是很多人一起寫程式,那就有差了,我們目前的團隊是規定用 4-space 的,從 C 到 JS 都是如此。

__________________
滿招損 謙受益
舊 2016-06-05, 12:30 PM #43
回應時引用此文章
darkangel離線中