C語言程式設計,初學者必學程式碼規範,你知道哪些?
C語言程式設計,初學者必學程式碼規範,你知道哪些?
一個好的程式編寫規範是編寫高質量程式的保證。清晰、規範的源程式不僅僅是方便閱讀,更重要的是能夠便於檢查錯誤,提高除錯效率,從而最終保證軟體的質量和可維護性。
本文章適合程式設計初學者,對於具有一定工程專案開發經驗的程式設計師,建議學習C語言程式程式碼編寫規範—高階版。
1 程式碼書寫規範
1.1函式定義
花括號:{ }
每個函式的定義和說明應該從第1列開始書寫。函式名(包括參數列)和函式體的花括號應該各佔一行。在函式體結尾的括號後面可以加上註釋,註釋中應該包括函式名,這樣比較方便進行括號配對檢查,也可以清晰地看出來函式是否結束。
範例1:函式的宣告
void matMyFunction(int n)
{
……
} /* matMyFunction*/
1.2空格與空行的使用
要加空格的場合
l 在逗號後面和語句中間的分號後面加空格,如:
int i, j, k;
for (i = 0; i < n; i++)
result = func(a, b, c);
l 在二目運算子的兩邊各留一個空格,如
a > b a <= b i = 0
l 關鍵字兩側,如if () …, 不要寫成if() …
l 型別與指標說明符之間一定要加空格:
char *szName;
不加空格的場合
l 在結構成員引用符號.和->左右兩加不加空格:
pStud->szName, Student.nID
l 不在行尾新增空格或Tab
l 函式名與左括號之間不加空格:
func(…)
l 指標說明符號*與變數名間不要加空格:
int *pInt;不要寫成: int * pInt;
l 複合運算子中間不能加空格,否則會產生語法錯誤,如:
a + = b a < = b都是錯誤的
空行與換行
l 函式的變數說明與執行語句之間加上空行;
l 每個函式內的主要功能塊之間加空行表示區隔;
l 不要在一行中寫多條語句.
範例2:空行與換行
int main()
{
int i, j, nSum = 0; //變數說明
for (i = 0; i < 10; i++) //執行程式碼
{
for (j = 0; j < 10; j++)
{
nSum += i;
}
}
}
1.3縮排的設定
根據語句間的層次關係採用縮排格式書寫程式,每進一層,往後縮排一層
有兩種縮排方式:1,使用Tab鍵;2,採用4個空格。
整個檔案內部應該統一,不要混用Tab鍵和4個空格,因為不同的編輯器對Tab鍵的處理方法不同。
1.4折行的使用
· 每行的長度不要超過80個字元,當程式行太長時,應該分行書寫。
· 當需要把一個程式行的內容分成幾行寫時,運算子號應該放在行末。
· 分行時應該按照自然的邏輯關係進行,例如:不要把一個簡單的邏輯判斷寫在兩行上。
· 分行後的縮排應該按照程式的邏輯關係進行對齊。例如:參數列折行後,下面的行應該在參數列左括號的下方。
範例2:折行的格式
dwNewShape = matAffineTransform(coords, translation,
rotation);
if (((new_shape.x > left_border) &&
(new_shape.x < right_border)) &&
((new_shape.y > bottom_border) &&
(new_shape.y < top_border)))
{
draw(new_shape);
}
1.5巢狀語句(語句塊)的格式
對於巢狀式的語句--即語句塊(如,if、while、for、switch等)應該包括在花括號中。花括號的左括號應該單獨佔一行,並與關鍵字對齊。建議即使語句塊中只有一條語句,也應該使用花括號包括,這樣可以使程式結構更清晰,也可以避免出錯。建議對比較長的塊,在末尾的花括號後加上註釋以表明該語言塊結束。
範例3:巢狀語句格式
if (value < max)
{
if (value != 0)
{
func(value);
}
}
} else {
error("The value is too big.");
} /* if (value < max) */
2 註釋書寫規範
註釋必須做到清晰,準確地描述內容。對於程式中複雜的部分必須有註釋加以說明。註釋量要適中,過多或過少都易導致閱讀困難。
2.1註釋風格
· C語言中使用一組(/* … */)作為註釋界定符。
· 註釋內容儘量用英語方式表述。
· 註釋的基本樣式參考範例4。
· 註釋應該出現在要說明的內容之前,而不應該出現在其後。
· 除了說明變數的用途和語言塊末尾使用的註釋,儘量不使用行末的註釋方式。
範例4:幾種註釋樣式
/*
* ************************************************
* 強調註釋
* ************************************************
*/
/*
* 塊註釋
*/
/* 單行註釋 */
//單行註釋
int i; /*行末註釋*/
2.2何時需要註釋
· 如果變數的名字不能完全說明其用途,應該使用註釋加以說明。
· 如果為了提高效能而使某些程式碼變得難懂,應該使用註釋加以說明。
· 對於一個比較長的程式段落,應該加註釋予以說明。如果設計文件中有流程圖,則程式中對應的位置應該加註釋予以說明。
· 如果程式中使用了某個複雜的演算法,建議註明其出處。
· 如果在除錯中發現某段落容易出現錯誤,應該註明。
3 命名規範
3.1常量、變數命名
l 符號常量的命名用大寫字母表示。如:
#define LENGTH 10
l 如果符號常量由多個單詞構成,兩個不同的單詞之間可以用下劃線連線。如:
#define MAX_LEN 50
變數命名的基本原則:
l 可以選擇有意義的英文(小寫字母)組成變數名,使人看到該變數就能大致清楚其含義。
l 不要使用人名、地名和漢語拼音。
l 如果使用縮寫,應該使用那些約定俗成的,而不是自己編造的。
l 多個單片語成的變數名,除第一個單詞外的其他單詞首字母應該大寫。如:
dwUserInputValue。
3.2函式命名
函式命名原則與變數命名原則基本相同。對於初學者,函式命名可以採用“FunctionName”的形式。
4 其它一些小技巧和要求
l 函式一般情況下應該少於100行
l 函式定義一定要包含返回型別,沒有返回型別加void
l 寫比較表示式時,將常量放在左邊
10 == n
NULL != pInt
l 指標變數總是要初始或重置為NULL
l 使用{}包含複合語句,即使是隻有一行,如:
if (1 == a)
{
x = 5;
}
..............GoodMai 好買網.................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008135/viewspace-2838365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從初學者到程式設計高手,幾種必學的程式語言程式設計
- Go 語言程式設計規範Go程式設計
- 初級程式設計師需要知道的基本程式碼規範程式設計師
- C語言程式設計規範——名稱縮寫C語言程式設計
- Python語言初學者?風變程式設計更適合Python程式設計
- 我今天才知道:學習程式設計和學習程式語言是兩碼事程式設計
- 初學者,哪幾種程式語言最值得你去學習?
- 程式語言設計,程式設計哲學程式設計
- C語言初學者必須掌握的關鍵字!C語言
- 哪種程式語言適合初學者學習
- 探究:初學者程式語言的選擇
- 20201022-成信大-C語言程式設計-20201學期《C語言程式設計B》C-trainingExercises26C語言程式設計AI
- 致初學者:如何學好Python這門程式語言?Python
- c語言初學者氣泡排序C語言排序
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- python 程式設計規範有哪些?Python程式設計
- C語言/C++程式設計學習:棧的程式碼實現之陣列方案C語言C++程式設計陣列
- 初學asp你要知道哪些
- 好程式設計師Java培訓分享Java初學者必讀程式設計師Java
- c語言程式設計學習之二維陣列C語言程式設計陣列
- 為什麼程式設計初學者會選擇 Python 作為入門語言?程式設計Python
- C語言/C++對程式設計學習的重要性!C語言C++程式設計
- c語言程式設計題C語言程式設計
- Go 語言程式碼風格規範-指南篇Go
- Go 語言程式碼風格規範-概述篇Go
- 初見函數語言程式設計函數程式設計
- [C#] 程式碼規範C#
- 程式設計入門之學哪種程式語言?程式設計
- JavaScript函數語言程式設計學習JavaScript函數程式設計
- C語言程式設計入門之--第一章初識程式C語言程式設計
- 結對程式設計(c語言)程式設計C語言
- 學習 Java 語言,你必須知道的 Java 簡史Java
- 初學者在學習Python語言時,要注意哪些問題?Python
- 初學IT程式設計,C基礎,php世界最好,如何選擇具有發展前景的語言?程式設計PHP
- 上位機程式設計編碼規範程式設計
- 程式設計小記-程式設計規範程式設計
- Python初學者必會的3款程式碼編輯器Python
- 嵌入式c語言編碼規範C語言