2011-03-16 165 views
2

我正在工作的當前項目要求我遵循特定的步驟來消除代碼中的空白。顯然這與線結尾有關,因爲一個要求明確告訴我要「用Unix線結束所有行(\ n)」。有人可以解釋行結束嗎?

我在VIM中從終端輸入代碼,然後按Enter鍵輸入新行。我在這裏錯過了什麼嗎?

爲什麼要保持代碼清潔後續空白並使用特定類型的換行符?

在附註中,你們用什麼標準VI/VIM設置來遵守通用編碼標準?

真誠, 爲什麼

+0

Jeff Atwood可以:http://www.codinghorror.com/blog/2010/01/the-great-newline-schism.html – johnny 2011-03-18 09:10:09

回答

1

不同的操作系統有不同的換行符約定。類Unix系統更喜歡\nLF); Windows喜歡\r\nCR LF); pre-OSX Mac OS使用\rCR)。在項目中維護一個約定通常是一個好主意。

至於尾隨空白,AFAIK它只是馬虎(可能表示「快速和骯髒」重新格式化)。在一些環境中,結尾空白也可能很重要。

+0

好吧,但爲什麼這很重要?是不是一條新線只是一條新線? – why 2011-03-16 18:45:56

+0

在同一個文件中混合不同種類的換行符,可能會將文件'include'd包含到另一個文件中,從而混淆了許多編譯器和工具。對於人類來說,換行符只是一個換行符;但太多的計算機程序太過於字面。 – geekosaur 2011-03-16 18:49:21

+0

我明白了。非常感謝! – why 2011-03-16 18:52:47

0

也許不在項目代碼大家在VIM,他們可能使用的是基於Windows的IDE這將插入\r\n新線。
在提交代碼之前,他們必須確保他們的行尾是正確的,而您不應該有這個問題,因爲vim會使用\n作爲自然行尾。

0

要在vim中強制執行此操作,可以使用fileformat選項。將它設置爲unix將使你的換行符使用\n