為什麼他需要豎向對齊程式碼,而你不需要

TP_funny發表於2014-12-26
其中,它指出,”不好”的程式碼格式是這樣的:


而經過“糾正”,程式碼看起來是這樣樣子的:

出於學習,我在我的程式碼編輯器裡敲入了他的例子:

3


很顯然,因為我使用的是一款具有語法高亮功能的編輯器,數字是綠色的,跟其它程式碼的顏色反差很明顯。這樣的效果中,我很容易在這些綠色的數字中發現其中有異常的數字。

同樣,使用合適的字型,會使得駝峰式書寫風格的變數名非常的明顯好認;相反,下劃線式的命名方式使得螢幕上的程式碼密度變低,字型變小。

我的程式碼編輯器還使用了語法高亮功能來強調字距。比如,操作符兩邊的字距比普通的字距要大很多,這樣更容易讓人識別。同樣,空格符要比普通的字元寬出 50%,也是同樣的作用。

在 Terence 的文章裡,我想他遺漏了一個常見的問題,我通常會把變數按變數名的字母順序排列,這樣能夠避免重複的定義。對於版本合併衝突問題,有一個很好的方法能解決中間新增變數行問題。

程式設計原子

我想最大的問題來自我們的程式設計的最小原子是以行為單位的。

看看下面的這個例子,它也是來自 Terence 的部落格,這次是一個函式宣告:
extern int SomeDemoCode (int fred, int wilma);

如果我們給這個函式增加一個引數,注意引數兩邊多出的空白:
extern int SomeDemoCode (int fred, + int barney, int wilma);

diff 比較工具將這個函式拆成了 3 行,這裡的合併成功只是個巧合,diff 並不知道,這三行中的任何一行單拉出來都不成立。

如果把三行程式碼放在一行,合併起來會變成這樣:
-extern int SomeDemoCode (int fred, int wilma); +extern int SomeDemoCode (int fred, int barney, int wilma);

長話短說,使用空白控制程式碼的呈現是 70 年代的產物,找一個更好的程式碼編輯器吧。
來自:部落格園
相關閱讀
評論(2)

相關文章