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