你用哪個鍵縮排?Stack Overflow:用空白鍵的人薪水較 tab 高

作者 | 發布日期 2017 年 06 月 18 日 22:50 | 分類 網路趣聞 , 職場 , 軟體、系統 line share follow us in feedly line share
你用哪個鍵縮排?Stack Overflow:用空白鍵的人薪水較 tab 高


寫程式縮排到底要用空白鍵還是 tab,是開發者圈一直爭論的問題。雖然兩者各有擁護者,孰優孰劣尚無定論,但程式問答網站 Stack Overflow 的調查卻發現,縮排使用習慣和薪水間有著令人出乎意料的關聯:使用空白鍵縮排的開發者,薪水比用 tab 縮排的開發者高。

使用 tab 縮排的速度快、檔案小,但在不同編輯器上排版容易亂掉

空白鍵派和 tab 鍵派彼此看不順眼的橋段,也曾被美劇《Silicon Valley》(矽谷群瞎傳)當素材搬上螢幕。劇中主角 Richard Hendricks 因為太介意曖昧對象使用空白鍵縮排、而非 tab,兩人因此鬧翻。

▲ 空白鍵派和 tab 鍵派彼此看不順眼的橋段,曾被美劇《矽谷群瞎傳》做為素材搬上螢幕。(Source:截圖自《矽谷群瞎傳》)

擁護 tab 的人認為,用 tab 鍵縮排的速度快又整齊、檔案又小,用空白鍵縮白簡直就是在鍛鍊手指肌肉;然而擁護空白鍵的人指出,使用 tab 最大的缺點在於,不同平台的編輯器會將 tab 字元視為不同長度,例如,Unix 是 8 個字元,Windows、OSX 是 4 個字元,一旦使用不同編譯器打開,存取可能出錯、排版容易亂掉、也易造成檔案合併上的困難。

Google 規定工程師必須使用空白鍵縮排

為了證明到底哪種方法更主流,Google 工程師 Felipe Hoffa 在 2016 年分析 Github 上前 40 萬個 repositories、10 億份程式碼、其中包含 14 種不同的程式語言。結果發現,除了 C 和 GO 語言外,使用空白鍵縮排的檔案遠多於 tab。

▲ 除了 C 和 GO 語言外,使用空白鍵縮排的檔案遠多於 tab。(Source:Felipe Hoffa

而另一名 Google 軟體工程師 Paul K. Young 也在 Quora 上回答,Google 內部規定工程師在寫 C++ 和 Java 程式碼時,必須要使用空白鍵縮排,原因在於 tab 在不同編輯器看起來都不同,一方面可能導致存取錯誤,或造成檔案合併上的困難。

看來,使用空白鍵縮排已經獲得 Google 和多數開發者認可,而 Stack Overflow 的最新調查,可能會讓更多 tab 擁護者心碎。

使用空白鍵縮排的開發者,薪水較使用 tab 的開發者高出 8.6%

Stack Overflow 分析近 3 萬份問卷,發現使用 tab 和空白鍵的人約各佔 40%,剩下的人則表示會交叉使用。不過,在比較縮排使用習慣和薪水的相關性後,發現使用空白鍵縮排的開發者,平均年薪為 59,140 美元,而使用 tab 的開發者年薪則僅 43,750 美元;無論年資長短,使用空白鍵縮排的開發者,薪水都較使用 tab 的開發者高。

▲ 無論年資長短,使用空白鍵縮排的開發者,薪水都較使用 tab 的開發者高。(Source:Stack Overflow)

以不同國家來看,也發現使用 tab 和空白鍵縮排的使用習慣,和薪水有顯著差異。可見,使用習慣所造成的薪水差異,並非來自不同國家的經濟狀況,例如,GDP 較低的國家習慣使用 tab,才導致 tab 的平均薪資較低。

▲ 以不同國家來看,也發現使用 tab 和空白鍵縮排的使用習慣,和薪水有顯著差異。(Source:Stack Overflow)

再看到 tab 和空白鍵使用習慣和開發類型以及程式語言的關係,發現不論哪種開發類型或程式語言,使用空白鍵的平均薪資皆高於使用 tab。

▲ 不論是哪種開發類型或程式語言,使用空白鍵的開發者平均薪資皆高於使用 tab。(Source:Stack Overflow)

而若將所有可能影響薪資的因素考量進來,包含使用 tab 還是空白鍵、國家、寫程式年資、開發種類和語言、教育程度、在開源圈是否活躍、是否把寫程式當作興趣、公司規模等,發現使用空白鍵的開發者,薪水較使用 tab 的開發者高出 8.6%,相當於多了 2.4 年年資的薪資漲幅。

當然,這並不表示是因為使用空白鍵縮排的習慣讓這些開發者薪水較高,只能說兩者有相關性,但是很有可能有其他影響因素。看完這份調查,原本使用 tab 鍵縮排的人會想試試看改用空白鍵嗎?

(本文由 數位時代 授權轉載;首圖來源:Flickr/Anthony Ryan CC BY 2.0)