文件從頭檔案、函式、識別符號、變數、巨集、程式效率、注釋、排版、表示式、**編輯編譯、可測性、安全性、字串操作安全、整數安全、格式化輸出安全、檔案io安全、單元測試、可移植性、程式設計規範等方面講述了c程式設計時的注意事項;本記錄將摘抄一部分內容學習。
**總體規則:1、清晰;2、簡潔;3、風格統一;
標頭檔案:
原則:
1、適合放置介面的宣告,不適合放置實現;
2、檔案職責單一;
3、應向穩定方向發展;
規則:1、每個.c檔案都應有乙個對應的.h檔案,用於宣告對外的公開介面;
2、禁止標頭檔案迴圈依賴;
3、.c/.h檔案禁止包含用不到的標頭檔案;
4、標頭檔案應當自包含;
5、總是編寫內部#include保護符(#define保護)
6、禁止標頭檔案定義變數;
7、只能通過包含標頭檔案使用其它.c提供的介面,禁止.c中通過extern呼叫外部函式介面,變數;
8、禁止在extern "c"中包含標頭檔案
函式
原則:
1、乙個函式僅完成一件功能;
2、重複**盡可能提煉成函式,可以帶來維護成本的降低,降低編寫時問題量;
規則:1、避免函式過長,新增函式不超過50行(非空非注釋行);
2、避免函式**塊巢狀過深,新增函式**塊巢狀深度不超過4層;
3、可重入函式盡量避免使用共享變數;若需要使用,則應通過互斥手段,(關中斷、訊號量)對其加以保護;
4、對引數的合法性檢查,有呼叫者負責還是有介面函式負責,應在專案組/模組內應統一規定;預設由呼叫者負責;
5、對函式的錯誤返回碼要全面處理;
6、設計高扇入,合理扇出(小於7)的函式;公共模組中的函式及底層函式應有較高的扇入;
7、廢棄**(沒有被呼叫的函式和變數)要及時清除;
建議:1、函式不變引數使用const,易於理解/跟蹤和分析愛,把const作為預設選項,在編譯時虎對其進行檢查,使**更牢靠、安全;
2、函式應避免使用全域性變數、靜態區域性變數和io操作,不可避免的地方應集中處理;
3、檢查函式所有非引數輸入的有效性,如資料檔案、公共變數等;
4、函式的引數個數不超過5個;
5、除列印函式外,不要使用可變長參函式;
6、在原始檔範圍內宣告和定義的所有函式,除非外部可見,否則應該增加static關鍵字。
C語言標準庫函式標頭檔案
c語言發展史 c語言於1972年11月問世,1978年美國 電報公司 at t 貝爾實驗室正式發布c語言,1983年由美國國家標準局 american national standards institute,簡稱ansi 開始制定c語言標準,於1989年12月完成,並在1990年春天發布,稱之為a...
C語言列舉型別 函式 標頭檔案
介紹 列舉是c語言中的一種構造型別資料 列舉是一組常量的集合 對於只有幾個有限的特定資料,可以使用列舉,資料過多就不適合使用了 定義格式 方式一 1 先定義列舉型別 enum week 2 再定義列舉變數 enum week week 方式二 定義列舉型別的同時定義列舉變數 enum week we...
整理庫函式,標頭檔案 C
include include intmain void isalpha判斷是字母,islower小寫字母,isupper大寫字母,istoupper轉化大寫,istolower轉化小寫。示例用的是isalpha其他用法類似 include include intmain elseif isalph...