縮進(jìn)格式
Tab是8個(gè)字符,于是縮進(jìn)也是 8個(gè)字符.有很多怪異的風(fēng)格,他們將縮進(jìn)格式定義為 4個(gè)字符(設(shè)置為2個(gè)字符!)
的深度,這就象試圖將 PI定義為 3一樣讓人難以接受.
理由是:縮進(jìn)的大小是為了清楚的定義一個(gè)塊的開(kāi)始和結(jié)束.特別是當(dāng)你已經(jīng)在計(jì)算機(jī)前面呆了 20多個(gè)小時(shí)了以
后,你會(huì)發(fā)現(xiàn)一個(gè)大的縮進(jìn)格式使得你對(duì)程序的理解更容易.
現(xiàn)在,有一些人說(shuō),使用8個(gè)字符的縮進(jìn)使得代碼離右邊很近,在80個(gè)字符寬度的終端屏幕上看程序很難受.回答是,
但你的程序有 3個(gè)以上的縮進(jìn)的時(shí)候,你就應(yīng)該修改你的程序.
總之,8個(gè)字符的縮進(jìn)使得程序易讀,還有一個(gè)附加的好處,就是它能在你將程序變得嵌套層數(shù)太多的時(shí)候給你警告.這
個(gè)時(shí)候,你應(yīng)該修改你的程序.
第二章:大符號(hào)的位置
另外一個(gè)C程序編程風(fēng)格的問(wèn)題是對(duì)大括號(hào)的處理.同縮進(jìn)大小不同,幾乎沒(méi)有什么理由去選擇一種而不選擇另外
一種風(fēng)格,但有一種推薦的風(fēng)格,它是Kernighan和Ritchie的經(jīng)典的那本書(shū)帶來(lái)的,它將開(kāi)始的大括號(hào)放在一行的最后,
而將結(jié)束大括號(hào)放在一行的第一位,如下所示:
if (x is true) { we do y }
然而,還有一種特殊的情況:命名函數(shù):開(kāi)始的括號(hào)是放在下一行的第一位,如下:
int function(int x) { body of function }
所有非正統(tǒng)的人會(huì)非難這種不一致性,但是,所有思維正常的人明白: (第一) K&R是___對(duì)___的,(第二)如果 K&R
不對(duì),請(qǐng)參見(jiàn)第一條. (:-))......另外,函數(shù)也是特殊的,不一定非得一致.
需要注意的是結(jié)束的括號(hào)在它所占的那一行是空的,__除了__它跟隨著同一條語(yǔ)句的繼續(xù)符號(hào).如"while"在
do-while循環(huán)中,或者"else"在 if語(yǔ)句中.如下:
do { body of do-loop } while (condition);
以及
if (x == y) { .. } else if (x > y) { ... } else { .... }
理由: K&R.
另外,注意到這種大括號(hào)的放置方法減小了空行的數(shù)量,但卻沒(méi)有減少可讀性.于是,在屏幕大小受到限制的時(shí)候,
你就可以有更多的空行來(lái)寫(xiě)些注釋了.
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |
![]() | ![]() .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 |