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