沒錯,這是一篇火藥文。網上流傳的各種程式設計規範幾乎青一色都是說用空格代替tab,其理由幾乎都是「這是唯一能保證在所有環境下獲得一致展現的方法」。
1、**對不齊。在html**中,非常多重的巢狀縮排是常有的事,但你試想看看,同乙個檔案裡大部分縮4空格、但有的縮3空格,有的個別甚至縮2空格,這是怎麼樣一種亂象。或者同乙個專案裡,有的html是用4個空格,有的html是用2個空格。不用懷疑,很多老**都有這樣的現象。即使是乙個人開發的都會,一段時間覺得4個空格比較標準,一段時間又覺得html一行那麼長,用2個空格節省位置。空格縮排的不嚴謹就這樣無形地把**帶入了混亂。
2、滑鼠不好點和方向鍵不好用。比如你要修改某個地方,滑鼠只是點左了一點點,然後就游標就去了前面的空格的位置,而不是真正**開始的地方,然後你又得多點一下或者按個右方向鍵。手不太熟練的偏差大一點的還要點很多下或者按幾下方向鍵才行。還有在按上下方向鍵時,有時候又會去到了一些不理想的空格位。
3、在使用tortoisesvn的檔案對比工具時,太多的點點點,而不是一連四格的橫線箭頭。在檔案左邊一片片的點點,尤其在網頁檔案中前面縮排空格的點十分容易與css的class選擇器混淆,影響視覺。
4、**檔案變大了,這個問題主要體現在網頁檔案上,以utf8編碼來算,乙個tab是1(原以為3)個位元組而對應的四個空格是4(原以為12)個位元組,所以每乙個本來用tab的地方都會多出3(原以為9)個位元組來,可能乙個檔案上看不出來有多大差別,但是有千千萬萬個使用者瀏覽呢?會白白增加了多少網路頻寬?即使是有gnu壓縮,但是在大訪問量的**也值得思考。
5、單行注釋時,如果是用tab縮排,// 不會使後面的**後退兩格,**依然對齊;而空格縮排的,//會使**後退兩格,**會變得不對齊。有小部分ide使用ctrl+/快捷鍵新增單行注釋時可以智慧型識別除外。
6、回刪乙個tab縮排只需按一次回刪鍵,而回刪四個空格需要按四次。當然更快的方法是選擇整行或幾行,然後按shift+tab,這個不多人知道吧~
7、如果你用過python,或者將來要用python。***???
vim 怎麼顯示空格 Vim中縮排和空格的使用
對於使用vim的程式設計師來說,shiftwidth,tabstop,softtabstop絕對是經常接觸的三個縮排因素。能否有方便美觀的,整體化的縮排,主要是由他們相互間的配合決定。在經過一段時間試用後,總結一下我的設定經驗。1 shiftwidth 這個是用於程式中自動縮排所使用的空白長度指示的...
開發中遇到的坑
new arraylist size 時確定list數量,指明list大小,但是確保 裡的.size 不是null listresult new arraylist authprioritydolist.size 判斷string型別的值是不是空時用stringutils.hastext strin...
vim中縮排的設定以及將tab轉換成空格
對於編寫 縮排是最基本的概念之一。至於縮排是使用空格還是製表符 tab 或者縮排是否正好使用乙個製表符來表示,很多程式設計師,特別是 windows 開發出身的程式設計師,很容易混淆。幸好,vim 對於這些概念有非常完整的支援,足以應付各種複雜的情況。以下是相關的主要 vim 選項 下面給出一些常用...