高質(zhì)量C++編程指南 ---- 程序的版式

2. 程序的版式

? ? ? ?版式雖然不會影響程序的功能,但會影響可讀性。程序的版式追求清晰、美觀,是程序風(fēng)格的重要構(gòu)成因素??梢园殉绦虻陌媸奖扔鳛椤皶ā?。好的“書法”可讓人對程序一目了然,看得興致勃勃。差的程序“書法”如螃蟹爬行,讓人看得索然無味,更令維護(hù)者煩惱有加。

2.1 空行

? ? ?空行起著分隔程序段落的作用??招械皿w(不過多也不過少)將使程序的布局更加清晰。

(1)在每個類聲明之后、每個函數(shù)定義結(jié)束之后都要加空行。

(2)在一個函數(shù)體內(nèi),邏揖上密切相關(guān)的語句之間不加空行,其它地方應(yīng)加空行分隔

2.2 代碼行

(1)一行代碼只做一件事情,如只定義一個變量,或只寫一條語句

(2)if、for、while、do 等語句自占一行,執(zhí)行語句不得緊跟其后。不論執(zhí)行語句有多少都要加{}

(3)盡可能在定義變量的同時初始化該變量(就近原則)

2.3 代碼行內(nèi)的空格

(1)關(guān)鍵字之后要留空格。象const、virtual、inline、case 等關(guān)鍵字之后至少要留一個空格,否則無法辨析關(guān)鍵字。象if、for、while 等關(guān)鍵字之后應(yīng)留一個空格再跟左括號‘(’,以突出關(guān)鍵字。

(2)函數(shù)名之后不要留空格,緊跟左括號‘(’,以與關(guān)鍵字區(qū)別

(3)‘(’向后緊跟,‘)’、‘,’、‘;’向前緊跟,緊跟處不留空格

(4),’之后要留空格,如Function(x, y, z)。如果‘;’不是一行的結(jié)束符號,其后要留空格

(5)賦值操作符、比較操作符、算術(shù)操作符、邏輯操作符、位域操作符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后應(yīng)當(dāng)加空格。

(6)一元操作符如“!”、“~”、“++”、“--”、“&”(地址運(yùn)算符)等前后不加空格。

(7)象“[]”、“.”、“->”這類操作符前后不加空格

(8)對于表達(dá)式比較長的for 語句和if 語句,為了緊湊起見可以適當(dāng)?shù)厝サ粢恍┛崭?/p>

2.4 對齊

(1)程序的分界符‘{’和‘}’應(yīng)獨(dú)占一行并且位于同一列,同時與引用它們的語句左對齊

(2){ }之內(nèi)的代碼塊在‘{’右邊數(shù)格處左對齊

2.5?長行拆分

(1)代碼行最大長度宜控制在70 至80 個字符以內(nèi)

(2)長表達(dá)式要在低優(yōu)先級操作符處拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀

2.6 修飾符的位置

(1)應(yīng)當(dāng)將修飾符 * 和& 緊靠變量名,如int *x, y; // 此處y 不會被誤解為指針

2.7 注釋

(1)版本、版權(quán)聲明;

(2)函數(shù)接口說明;

(3)重要的代碼行或段落提示

2.8 類的版式

類可以將數(shù)據(jù)和函數(shù)封裝在一起,其中函數(shù)表示了類的行為(或稱服務(wù))。類的版式主要有兩種方式:

(1)將private 類型的數(shù)據(jù)寫在前面,而將public 類型的函數(shù)寫在后面,采用這種版式的程序員主張類的設(shè)計(jì)“以數(shù)據(jù)為中心”,重點(diǎn)關(guān)注類的內(nèi)部結(jié)構(gòu)。

(2)2)將public 類型的函數(shù)寫在前面,而將private 類型的數(shù)據(jù)寫在后面,采用這種版式的程序員主張類的設(shè)計(jì)“以行為為中心”,重點(diǎn)關(guān)注的是類應(yīng)該提供什么樣的接口(或務(wù))。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容