C++程式設計風格和文件
阿新 • • 發佈:2019-02-04
所謂的程式設計風格(programming style),就是如何安排程式的外觀樣式。即使我們把一個程式寫成只有一行的形式,它也完全可以正確編譯和執行,但“一行程式”是一種不好的程式設計風格,因為這樣的程式難讀、難理解。文件(document)就是附屬程式的說明性註釋。程式設計風格和註釋與編碼同樣重要。好的程式設計風格和適當的文件會降低發生錯誤的可能性,使程式更為易讀。
課文例項:顯示當前時間
// 例項:顯示當前時間 #include <iostream> #include <ctime> using namespace std; int main() { // Obtain the total seconds since the midnight, Jan 1.1970 int totalSecomds = time(0); // Compute the current second in the minute in the hour int totalSecond = totalSecomds % 60; // Obtain the total minutes int totalMinutes = totalSecomds / 60; // Compute the current minute in the hour int totalMinute = totalMinutes % 60; // Obtain the total hours int totalHours = totalMinutes / 60; // Compute the current hour int currentHour = static_cast<int>(totalHours % 24); // Display results cout << "Current time is " << currentHour << ":" << totalMinute << ":" << totalSecond << " GMT" << endl; system("pause"); return 0; }
適當的註釋和註釋風格
在程式的開始部分,我們應該給出一段摘要,簡要描述這個程式要做什麼、它的關鍵特性、它支援的資料結構以及它所使用的獨特的技術。在一個較長的程式中,我們還應該加入一些註釋,介紹程式的主要步驟,解釋每一個難於理解的地方。註釋簡潔明瞭是很重要的,以免使程式顯得臃腫或難以理解。 要註釋一個函式內的步驟,使用行註釋(//)。變數和常量的命名 就像現實世界中的每一個實體都有名字一樣,我們應該為程式中所使用的實體起一個名字。程式設計語言使用稱為識別符號(identifier)的特殊符號為變數、常量及函式等程式實體命名。識別符號命名的規則如下:
- 一個識別符號是一個字元序列,可以包含字母、數字和下劃線(_)。
- 一個識別符號必須以一個字母或一個下劃線開頭,不能以字母開頭。
- 不能使用保留字(也叫關鍵字)作為識別符號。
- 一個識別符號理論上可以任意長,但我們使用的具體的C++編譯器可能會有限制,使用31個字元或者更短的識別符號可保證程式的可移植性。
- 對於類名稱,大寫名稱中每個單詞的第一個字母;例如,類名ComputeArea。
注由於C++是大小寫敏感的,因此,X與x是不同的識別符號。
習慣上,變數名使用小寫字母。如果一個變數名由多個單片語成,則將每個單詞的第一個字母大寫(第一個單詞除外),然後將它們串接起來。例如,radius和interestRate。
習慣上,常量的名字用大寫——PI和MAX_VALUE 。一個常量必須在一條語句中宣告並初始化
提示識別符號用於命名變數、函式及程式中其他實體。有意義的描述性識別符號會使程式更為易讀。除了選擇描述性的名字這一基本原則外,C++還有一套約定俗成的針對不同種類識別符號的命名習慣。
警告不要使用以下劃線開頭的識別符號,以免混淆,因為C++編譯器可能為一些內部實體使用這類名字。
恰當的縮排和空白
在程式中使用一致的縮排風格,會使程式更為清晰易讀。縮排(indentation)的作用是顯示程式元件或語句之間的語法結構關係。即使一個程式的所有語句都放在一行內,C++編輯器也能正確分析,但是,如果能恰當地對齊語句,那麼程式碼的可讀性和可維護性就會更好。一種較好的方式是每一個子結構/語句比其父結構(嵌入的結構)縮排兩個空格。
- 在二元運算子的兩邊應該各放置一個空格,如下面語句所示:
bool b = 3 + 4 * 4 > 5 * (4 + 3) - ++i;
- 使用空格分隔函式中的引數。不要在函式中的括號之前或之後留空格,例如:
aFunction(A1, A2)比aFunction( A1, A2 )更符合規範。
- 在程式碼片段之間應該各放置一個空格,以使程式更為清晰易讀。
塊風格
塊是由括號包圍的一組語句。塊可以以多種方式編寫。例如,以下是等效的:
int main()
{
// Display Welcome to C++ to the console
cout << "Welcome to C++!" << endl;
return 0;
}
int main() {
// Display Welcome to C++ to the console
cout << "Welcome to C++!" << endl;
return 0;
}
前者被稱為下行樣式,而後者,作為結束行樣式。下行塊樣式用於C ++程式,而結束行樣式通常優先用於Java程式。
if-else Style
if (cond1)
{
// Statements
}
else if (cond2)
{
// Statements
}
else if (cond3)
{
// Statements
}
else
{
// Statements
}
for loop Style
for (int i = 1; i < n; i++)
{
// Statements
}
while loop Style
while (i < n)
{
// Statements
}
do-while loop Style
do
{
// Statements
} while (i < n);
try-catch Style
try
{
// Statements
}
catch (Exception ex)
{
// Handler
}
Summary
- Use line comments to describe steps inside a function.(使用行註釋來描述函式內的步驟)
- Indent your statement two spaces.(縮排你的語句兩個空格)
- Use Next-Line style.(使用下行樣式)
- Leave a blank line before a comment line or a comment paragraph.(在註釋行或註釋段之前留空行)