|
關(guān)于寫程序的小問題,想到那里說到那里
1.每個(gè)函數(shù)的前面有一段綜合性的注釋,這個(gè)綜合性注釋的首尾行是由//開頭的88個(gè)字符"-"組成, 有人不用"-"而是用"*",我覺得用"*"不太合適. 因?yàn)镃里面/* */是"成段地"定義注釋的, 在調(diào)試階段可能需要臨時(shí)把某一部分代碼用/* */包圍起來當(dāng)作注釋不參與編譯, 而此時(shí),上述的每個(gè)函數(shù)的綜合性注釋中如果用"//********....."的格式,就可能引起編譯系統(tǒng)發(fā)出注釋嵌套警告.進(jìn)一步地,在代碼內(nèi)部的注釋中應(yīng)盡量避免出現(xiàn)"/*"的組合.我的做發(fā)是,僅僅在代碼調(diào)試階段用/* */臨時(shí)屏蔽部分代碼,真正的注釋全部用單行注釋,也就是只用//引進(jìn)注釋.
2.函數(shù)內(nèi)部每個(gè)語句后面的局部性注釋,我喜歡做右端對齊,很多人會(huì)覺得這是很費(fèi)力的怪異的做法,但我習(xí)慣了而且關(guān)鍵是喜歡這樣做,確實(shí),注釋右端對齊,需要多打很多的空格,但是這樣做以后代碼看起來會(huì)舒服很多,便于調(diào)試.
2.在代碼或注釋中凡是需要空格的地方永遠(yuǎn)只使用空格鍵,決不使用Tab鍵產(chǎn)生空格,這是因?yàn)榇a很可能需要放到某種文本編輯器中做排版操作,然后打印出來,不同的編輯器中Tab鍵的處理有差異,如果使用Tab鍵產(chǎn)生若干個(gè)空格,有可能文本的格式出錯(cuò).
3.注釋也要體現(xiàn)結(jié)構(gòu)化的思想.每一個(gè)由"{" 和 "}" 包圍的代碼塊, 都會(huì)完成某個(gè)相對獨(dú)立的功能.我的代碼中,"{" 和 "}"都肯定占用單獨(dú)的行,在它們所在的行中,就可以寫字?jǐn)?shù)較多的注釋,因?yàn)樵谶@一行里,屬于代碼的部分只有一個(gè)符號(hào),空余的書寫位置就多了."{"和"}"后面的注釋幾乎是完全一樣的,這樣從前往后或者反過來瀏覽代碼的時(shí)候,代碼的模塊化結(jié)構(gòu)通過注釋就進(jìn)一步強(qiáng)化了,看起來更舒服.當(dāng)注釋的文字確實(shí)不需要那么多的時(shí)候,我會(huì)用"-"或者"="在左端補(bǔ)齊,而且只要可能,一定用字符"v"和"^"分別做為注釋中的第一個(gè)字符的,它們說明了注釋所指的代碼是位于注釋之前還是之后.
4.注釋的文本長度不要太長,當(dāng)然也不可太短,一般來說80~90個(gè)字符比較合理.我傾向于90個(gè)字符,在代碼編輯環(huán)境中,當(dāng)光標(biāo)位于行尾時(shí),光標(biāo)位置顯示91,呵呵
5.關(guān)于縮進(jìn).這是非常重要的一個(gè)問題,一旦代碼超過100行,馬上就能感覺到縮進(jìn)的重要性了.我一般在需要縮進(jìn)的地方每次縮進(jìn)4個(gè)空格.注意一定要配對.,有進(jìn)有出.
6.還有很多小P事,其實(shí)都很重要的,有時(shí)間慢慢聊.
以下是例子.
//------------------------------------------------------------------------------
// 函數(shù): char My_FunctionA(int ParaX, char ParaY, ....)
// 功能: 本函數(shù).......
// ....... .....
// 參數(shù): ParaX = .....
// ParaY = .....
// 返回: .....
// 作者: .....
// 創(chuàng)建: 2009年01月01日
// 修改: 2009年01月02日(發(fā)現(xiàn)...問題,添加...,修改...,....)
// 2009年01月05日(發(fā)現(xiàn)...問題,添加...,修改...,....)
//------------------------------------------------------------------------------
char My_FunctionA(int ParaX, char ParaY, ...)
{
unsigned int i;
....
if( (.....) && (...) )
{//v------------------------------------------當(dāng)...且....時(shí),做.... ....操作
..... //...........
for(i=0; i<ParaX; i++)
{//v-----------------------------------------循環(huán)....次,做.... ....操作
.... //...........
.... //...........
}//^-----------------------------------------循環(huán)....次,做.... ....操作
.....
}//^------------------------------------------當(dāng)...且....時(shí),做.... ....操作
}
在大多數(shù)開發(fā)環(huán)境內(nèi)嵌的編輯器中符號(hào)"v"和"^"大小差不多,呵呵,可以很好的表達(dá)我想表達(dá)的意義.
|
|