1.著作權和版本
好的程式員會給自己的每一個檔案和函式都注明著作權和版本;比如檔案頭部應該有這樣的注釋:
/******************************************************
* 檔案名:hello.cpp
* 檔案描述:提供一個列印hello world的函式
* 創建人:jinNiu.Yang
* 創建時間:2021/12/15
* 版本號:1.0
* 修改記錄:
******************************************************/
函式應該有這樣的注釋:
/******************************************************
* 函式名:XXX
* 引數:
* 功能描述:
* 回傳值:
* 拋出例外:
* 作者:
******************************************************/
2.縮進、空格、換行、空行
- 縮進:一個縮進一般是一個TAB鍵;
- 空格:在陳述句中各個運算子之間加空格;函式傳參時在各個引數間加空格;
- 換行:不同陳述句之間換行;函式引數多時換行;
- 空行:程式塊之間,最好加上空行;
3.注釋
一般來說你寫這些地方的注釋:檔案、函式、變數(用來干嘛)、演算法、功能塊;
4.函式的入參和回傳值
寫有引數的函式時,首要作業,就是要對傳進來的所有引數進行合法性檢查;對于回傳值也一樣;比如入參是指標就要考慮為空指標的情況,當然,在c++中使用參考比使用指標要好的多;
回傳值是指標也一樣,
5.if陳述句對出錯的處理
if陳述句處理錯誤時,不要使用else,而是先判斷錯誤,比如下面例子:
if(a == 0) if(a != 0)
....... ------------>> 出錯處理
else return;
出錯處理 .........
6.頭檔案防止多次編譯
頭檔案中千萬不要忘了防止多次編譯,一般格式為(比如stdio.h):
#ifndef _STDIO_H_
#define _STDIO_H_
..........
#endif
7.在堆上分配記憶體
malloc或new函式是從堆上分配記憶體,系統不會自動釋放,需要自己手動釋放,不然會產生記憶體泄漏(Memory Leak);然后系統可以分配的堆記憶體越來越少,直到系統崩潰;以下有幾個注意的點:
- 誰申請誰負責釋放;類、函式
- malloc分配的記憶體一定要初始化,free后指標一定要置為null;
- 雖然現在作業系統都會幫助我們釋放,但也不會釋放掉所有的,最好還是自己釋放;IBM公司的工具Purify可以幫助我們檢查Memory Leak;
8.識別符號命名(函式名、變數名)
- 見名知意,要最短長度也要最大限度表達其含義;
- 可以簡寫,但也要讓人看得明白:ErrorCode–>ErrCode;
- 用匈牙利命名法命名函式引數、區域變數;用駝峰命名法命名全域變數、靜態變數;
- 與標準庫(如:STL)或開發庫的命名風格保持一致;
9.修改別人程式的修養
當維護別人的代碼時,不要主觀臆測的把已有程式洗掉或修改,可以注釋掉再添加自己的代碼;這樣好恢復,也是對原作者的一種尊敬;
10.將相同或近乎相同的代碼形成函式和
如果有一些程式的代碼段很相似甚至直接一樣,就可以將其放入一個函式中直接呼叫;如果代碼不多,就可以把它寫成宏函式;
11.函式引數個數如果多了請用結構體
一般多于6個就應該使用結構體,回傳值也一樣;這樣要是要增加數量的話,可以不用改函式,直接改結構體就行;
12.函式中的代碼尺寸
一個函式只完成一個具體的功能,一般來說,一個函式代碼最好在100行到300行左右;有證據表明,一個函式代碼超過500行,就會有與之前代碼重復或相近的代碼;
13.為常量宣告宏
最好不要在程式中出現數字式的“硬編碼”,如:int user[120];應該為120宣告一個宏,這樣維護性會高,要改所有參考120的地方,只需要修改宏就好;
14.不要忽略Warning
就算Warning不會妨礙目標代碼的生成,但是請不要忽視他們,修正每一個Warning是一個有修養的程式員應該做的事;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394179.html
標籤:其他
上一篇:自己寫一個strcat函式
下一篇:作業小記 | 零火之間
