2010-08-16 91 views
7

我養成了從源文件中刪除尾隨空白的習慣。事實上,我有我的編輯自動執行此操作。我通過使用git獲得了這種習慣;它創造了我堅持的習慣。剝離尾隨空白處的好處?

我的問題涉及到我無法爲此行爲辯護的事實。我可以理解,在一些領域,比如網頁設計師,可能會影響他們的最終結果。對於程序員來說,我們從中獲得了什麼?我們不能把它放進去嗎?

回答

8

我也喜歡修剪空白。沒有技術要求這樣做,但它具有一定的優勢:

  • 尾隨空格在許多編輯刺激性,當光標變成線條,您可以在此行時的「尾隨空白區」結束了您需要從更長的行更短的行,需要額外的按鍵才能到達要編輯的部分
  • 它可能會導致您的編輯器顯示一個否則不需要的水平滾動條,這又會迫使您滾動到確保你沒有遺漏文字的權利

然而,最重要的是,它有一個巨大的好處(IM HO)在整個源代碼中使用一致的格式(間距,縮進,大括號...)。這使得代碼更易於閱讀,避免了重新格式化的巨大差異(如果它始終格式正確,無需重新格式化)。

因此,我建議讓格式化程序自動運行,無論何時保存(或至少對於每個提交)。這樣,尾隨空白可以消除作爲副作用:-)。

+0

當中所提到的原因,我想你就做,以減少大的diff一致性好點。 – Pran 2010-08-16 11:21:02

3

你不會說你正在使用什麼語言,但是在C語言中,尾隨空格會影響宏。

考慮:

#define FNORD() \ 
    something complicated here 

的\只有當它的上線的最後一個字符---這樣的空白後,將導致其破裂的作品。

+0

+1優點和相同的概念可以應用於其他情況。例如,在ruby中,你可以使用\在多行上有一個字符串。 – Pran 2010-08-16 12:22:26

+0

Perl和sh/bash也使用反斜槓來繼續一行,並且會遭受同樣的問題。 Perl和sh/bash中的「here文檔」也是如此。 – sleske 2010-08-16 16:02:02

+0

當然,如果你真的*想*在這裏的文件尾部的空白,你不想剝奪它。但幸運的是,我不必在bash中編程... – sleske 2010-08-16 16:03:28