C語言程式設計規範

2021-07-27 06:08:20 字數 1366 閱讀 5892

1、標頭檔案中適合放置介面宣告,不適合放實現

2、標頭檔案職責單一

3、標頭檔案應向穩定的方向包含

1、只能通過包含標頭檔案的方式使用其他模組提供的介面,禁止在.c中通過extern的方式使用外部函式介面、變數

2、禁止在標頭檔案中定義變數

3、禁止在extern「c」中包含標頭檔案

4、總是編寫內部的#ifdef保護符

5、標頭檔案應當自包括

6、禁止標頭檔案迴圈依賴

7、禁止包含用不到的標頭檔案

(否則多次包含該標頭檔案會有變數重複定義的錯誤);

標頭檔案的包含關係代表一種依賴,標頭檔案變化會引起包含該檔案的模組重新編譯;

8、每乙個.c檔案應有乙個同名.h檔案,用於宣告需要對外公開的介面

1、降低複雜度,易於思考

2、便於協同開發

3、**復用,減少**量

4、封裝變化

5、良好的可移植性

1、圈複雜度小於7

圈複雜度就是乙個函式可以執行的路徑條數;

2、函式短小(推薦小於50行,一屏)

3、巢狀層數小於5

單行字元數小於80個,一屏;

4、職責單一

接受函式名的約束,避免文不對題;

5、抽象層次單一

避免讀者迷失在細節;

6、引數不超過3個

7、避免重複

8、避免重入問題

時間上,在函式執行完之前,又一次被呼叫,稱為重入;只有在函式中有對公共資源訪問的時候,才會有問題;

9、不要返回區域性變數

詳見部落格:

一般情況下程式存放在rom(唯讀記憶體,比如硬碟)或flash中,執行時需要拷到ram(隨機儲存器ram)中執行,ram會分別儲存不同的資訊,如下圖所示:

記憶體中的棧區處於相對較高的位址以位址的增長方向為上的話,棧位址是向下增長的。

棧中分配區域性變數空間,堆區是向上增長的用於分配程式設計師申請的記憶體空間。另外還有靜態區是分配靜態變數,全域性變數空間的;唯讀區是分配常量和程式**空間的;以及其他一些分割槽。

例如,如下main.cpp

int a = 0; //全域性初始化區 

char *p1; //全域性未初始化區

main()

複製**

C 程式設計規範

關於組織和策略問題 0 不要拘泥於小節 了解哪些東西不應該標準化 類 函式和列舉 likethis 變數名 likethis 私有成員變數名 likethis 巨集名稱 like this。1 在高警告級別乾淨利落地進行編譯 2 使用自動構建系統 3 使用版本控制系統 最廉價也最流行的版本控制系統是...

C 程式設計規範

c coding standards 101 rules,guidelines,and best practices 組織及策略上的問題 organizational and policy issues 0.不拘小節 或 了解什麼不需要被規範化 1.在高警告級別下乾淨地編譯。2.使用自動化的構建 b...

c程式設計規範

c c 程式設計規範 1 檔案結構 每個c c 程式通常分為兩個檔案。乙個檔案用於儲存程式的宣告 declaration 稱為標頭檔案。另乙個檔案用於儲存程式的實現 implementation 稱為定義 definition c c 程式的標頭檔案以 h 為字尾,c 程式的定義檔案以 c 為字尾,...