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

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

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

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

螢幕快照 2017-06-16 下午2.53.26.png
空白鍵派和tab鍵派彼此看不順眼的橋段,曾被美劇《矽谷群瞎傳》作為素材搬上螢幕。
圖/ 截圖自《矽谷群瞎傳》

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

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

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

aljisg2evvamxa2aqjye.jpg
除了C和GO語言外,使用空白鍵縮排的檔案遠多於tab。

而另一名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的開發者高。

salary_graph-1-1024x731.png
無論年資長短,使用空白鍵縮排的開發者,薪水都較使用tab的開發者高。
圖/ Stack Overflow

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

salary_by_country-1-1024x768.png
以不同國家來看,也發現使用tab和空白鍵縮排的使用習慣,和薪水有顯著差異。
圖/ Stack Overflow

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

salary_graph_devtype-1-1024x717.png
不論是哪種開發類型或程式語言,使用空白鍵的開發者平均薪資皆高於使用tab。
圖/ Stack Overflow

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

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

資料來源:Stack OverflowGizmodoQuora

本網站內容未經允許,不得轉載。

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
台日半導體新局 全解讀
© 2024 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓