碼農的浪漫~空白鍵與定位鍵 (製表鍵、定位鍵 vs. 空白鍵 之爭) | Tabs or Spaces / Tabs versus Spaces
--- --- 碼農的浪漫~空白鍵與定位鍵 (製表鍵、定位鍵 vs. 空白鍵 爭議) | Tabs or Spaces / Tabs versus Spaces 身為一個碼農,每天都會跟程式碼打交道,每一個程式碼檔案就像是一篇作文一樣, 有著每種語言各自的文法與排列方式,多多少少都會影響到閱讀的觀感! 而撰寫程式碼中,因為邏輯有很多層層套套,因此 👉縮排👈 顯得非常重要了! 通常會使用 Tab鍵 與 空白鍵 來幫程式碼排版, 透過縮排讓邏輯與階層還有作用範圍可以很清楚明瞭的顯現。 問題來了,該用哪一種方式來縮排呢? 其實兩種方式各有優缺點,兩種都很好用。(這不是廢話?🙀) 其實, Tab鍵 與 空白鍵 的結果呈現其實跟字型有著很大的關係! 首先,我一定會選用 mono 固定寬度累的字型,目前使用的就是內建的 Consolas 這真是個護眼又容易取得的內建字型,至少可以完美區分 0 o O 1 L l i m n rn g 9 這些容易混淆的字元,而且看的也舒服,對中文字形選用也很友善。 有了固定寬度的字元,這時候 Tab鍵 與 空白鍵 的排版表現才會一致。 若是使用不定寬度的字型,那麼排版效果可就會令人抓狂啊! 最明顯的就是使用 Tab 排版會出現波浪紋路。👿👿👿 這可真令人抓狂啊! 還好使用固定寬度字元就沒有這些問題。👍👍👍 受益於現代編輯器(IDE)的強大,也有很多套件可以自由進行 Tab 與 Space 間的轉換~ 真是帥啊! 目前常見主流 1個Tab 會等於 4 個空白,有些人會覺得 4 個空白會過寬, 這導致螢幕可是範圍變小,一旦層級增多了就會壓縮寫Code的空間~ 這真是兩難阿,不過這也是受到字型的影響,可見一個好的字型會讓你寫CODE感到輕鬆。 我個人還是習慣用 4 個空白,一來搭配 Consolas 寬度很適當,二來這是普遍的設定, 基本上不用任何修改就可以上手了,我也有看過使用 2 個字元空格的, 不過這樣會導致縮排變得不是很明顯,要多用點眼力來區隔, 撰寫像是 Python 之類的語言,他可是極度依賴縮排來定界,程式碼一多可能就會辛苦了。 另外,使用空格排版的缺點就是,因為是空格,調整的時候需要一格一格刪除, 這顯得沒有效率,這也是為 Tab 見愛用者所針貶的, 老話一句,受益於現代編輯器(IDE)的...