嵌入式C/C 編程修養(yǎng)
1、版權(quán)和版本
好的程序員會(huì)給自己的每個(gè)函數(shù),每個(gè)文件,都注上版權(quán)和版本。
/************************************************************************
*
* 文件名:network.c
*
* 文件描述:網(wǎng)絡(luò)通訊函數(shù)集
*
* 創(chuàng)建人:Hao Chen, 2003年2月3日
*
* 版本號(hào):1.0
*
* 修改記錄:
*
************************************************************************/
而對(duì)于函數(shù)來說,應(yīng)該也有類似于這樣的注釋:
/*================================================================
*
* 函 數(shù) 名:XXX
*
* 參 數(shù):
*
* type name [IN] : descripts
*
* 功能描述:
*
* ..............
*
* 返 回 值:成功TRUE,失敗FALSE
*
* 拋出異常:
*
* 作 者:ChenHao 2003/4/2
*
================================================================*/
這樣的描述可以讓人對(duì)一個(gè)函數(shù),一個(gè)文件有一個(gè)總體的認(rèn)識(shí),對(duì)代碼的易讀性和易維護(hù)性有很大的好處。這是好的作品產(chǎn)生的開始。
2、縮進(jìn)、空格、換行、空行、對(duì)齊
i) 縮進(jìn)應(yīng)該是每個(gè)程序都會(huì)做的,只要學(xué)程序過程序就應(yīng)該知道這個(gè),但是我仍然看過不縮進(jìn)的程序,或是亂縮進(jìn)的程序,如果你的公司還有寫程序不縮進(jìn)的程序員,請(qǐng)毫不猶豫的開除他吧,并以破壞源碼罪起訴他,還要他賠償讀過他程序的人的精神損失費(fèi)。
縮進(jìn),這是不成文規(guī)矩,我再重提一下吧,一個(gè)縮進(jìn)一般是一個(gè)TAB鍵或是4個(gè)空格。(最好用TAB鍵)
ii) 空格??崭衲芙o程序帶來什么損失嗎?沒有,有效的利用空格可以讓你的程序讀進(jìn)來更加賞心悅目。而不一堆表達(dá)式擠在一起??纯聪旅娴拇a:
ha=(ha*128 *key )%tabPtr->size;
ha = ( ha * 128 *key ) % tabPtr->size;
有空格和沒有空格的感覺不一樣吧。一般來說,語句中要在各個(gè)操作符間加空格,函數(shù)調(diào)用時(shí),要以各個(gè)參數(shù)間加空格。如下面這種加空格的和不加的:
if ((hProc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid))==NULL){
}
if ( ( hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid) ) == NULL ){
}
iii) 換行。不要把語句都寫在一行上,這樣很不好。如:
for(i=0;iif((a[i]<'0'||a[i]>'9')