freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

高質(zhì)量c編程指南-wenkub

2023-04-21 05:59:13 本頁面
 

【正文】 是會多消耗一些紙張,但是值得。參見示例 21(b )// 空行void Function1(…){ …}// 空行void Function2(…){ …}// 空行void Function3(…){ …}// 空行while (condition){statement1。} 示例 21(a) 函數(shù)之間的空行 示例 21(b) 函數(shù)內(nèi)部的空行16 / 101 代碼行? 【規(guī)則 221】一行代碼只做一件事情,如只定義一個變量,或只寫一條語句。這樣可以防止書寫失誤。 // 高度int depth。z = e + f。if (width height) {dosomething()。 update){dosomething()。 update) dosomething()。本建議可以減少隱患。 // 定義并初紿化 depth 17 / 101 代碼行內(nèi)的空格? 【規(guī)則 231】關(guān)鍵字之后要留空格。? 【規(guī)則 233】 ‘(’向后緊跟, ‘) ’、 ‘, ’、 ‘。 ’不是一行的結(jié)束符號,其后要留空格,如 for (initialization。amp。? 【規(guī)則 237】象“[] ”、 “.”、 “”這類操作符前后不加空格。amp。amp。 i10。 I 10。y。 // 不要寫成 array [ 5 ] = 0。 // 不要寫成 b Function()。void Function(int x){… // program code}void Function(int x){… // program code}if (condition){… // program code}else{… // program code}if (condition){… // program code}else {… // program code}for (initialization。 update){… // program code}While (condition){… // program code}while (condition){… // program code}如果出現(xiàn)嵌套的{} ,則使用縮進對齊,如:{ … { … } …}示例 24(a) 風(fēng)格良好的對齊 示例 24(b) 風(fēng)格不良的對齊19 / 101 長行拆分? 【規(guī)則 251】代碼行最大長度宜控制在 70 至 80 個字符以內(nèi)。if ((very_longer_variable1 = very_longer_variable12)amp。 (very_longer_variable5 = very_longer_variable16)){ dosomething()。 very_longer_update){dosomething()。上述寫法的弊端是容易引起誤解,例如:int* x, y。int *x, y。雖然注釋有助于理解代碼,但注意不可過多地使用注釋。注釋的花樣要少。 // i 加 1,多余的注釋? 【規(guī)則 273】邊寫代碼邊注釋,修改代碼同時修改相應(yīng)的注釋,以保證注釋與代碼的一致性。? 【規(guī)則 275】盡量避免在注釋中使用縮寫,特別是不常用縮寫。類提供關(guān)鍵字 public、protected 和 private,分別用于聲明哪些數(shù)據(jù)和函數(shù)是公有的、受保護的或者是私有的。采用這種版式的程序員主張類的設(shè)計“以數(shù)據(jù)為中心” ,重點關(guān)注類的內(nèi)部結(jié)構(gòu)。這是很多人的經(jīng)驗——“這樣做不僅讓自己在設(shè)計類時思路清晰,而且方便別人閱讀。void Func2(void)。float x, y。“匈牙利”法最大的缺點是煩瑣,例如int i, j, k。 // 前綴 f 表示 float 類型如此煩瑣的程序會讓絕大多數(shù)程序員無法忍受。? 【規(guī)則 311】標識符應(yīng)當(dāng)直觀且可以拼讀,可望文知意,不必進行 “解碼” 。例如不要把 CurrentValue 寫成 NowValue。幾十年前老 ANSI C 規(guī)定名字不準超過 6 個字符,現(xiàn)今的 C++/C 不再有此限制。? 【規(guī)則 313】命名規(guī)則盡量與所采用的操作系統(tǒng)或開發(fā)工具的風(fēng)格保持一致。23 / 101? 【規(guī)則 314】程序中不要出現(xiàn)僅靠大小寫區(qū)分的相似的標識符。? 【規(guī)則 315】程序中不要出現(xiàn)標識符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會發(fā)生語法錯誤,但會使人誤解。float newValue。 // 全局函數(shù)boxDraw()。int SetValue(…)。 簡單的 Windows 應(yīng)用程序命名規(guī)則作者對“匈牙利”命名規(guī)則做了合理的簡化,下述的命名規(guī)則簡單易用,比較適合于Windows 應(yīng)用軟件的開發(fā)。 // 類名void Draw(void)。int drawMode。? 【規(guī)則 324】靜態(tài)變量加前綴 s_(表示 static) 。 // 全局變量int g_howMuchMoney。}? 【規(guī)則 327】為了防止某一軟件庫中的一些標識符和其它軟件庫中的沖突,可以為各種標識符加上能反映軟件性質(zhì)的前綴。它們看似簡單,但使用時隱患比較多。優(yōu)先級 運算符 結(jié)合律( ) [ ] . 從左至右! ~ ++ (類型) sizeof+ * amp。 從左至右|| 從右至左?: 從右至左從高到低排列= += = *= /= %= amp。amp。但要防止濫用復(fù)合表達式。 c d amp。例如:d = (a = b + c) + r 。? 【規(guī)則 423】不要把程序中的復(fù)合表達式與“真正的數(shù)學(xué)表達式 ”混淆。本節(jié)以“與零值比較”為例,展開討論。例如 Visual C++ 將 TRUE 定義為 1,而Visual Basic 則將 TRUE 定義為 1。所以一定要避免將浮點變量用“==”或“!=”與數(shù)字比較,應(yīng)該設(shè)法轉(zhuǎn)化成“=”或“=”形式。 指針變量與零值比較? 【規(guī)則 434】應(yīng)當(dāng)將指針變量用“==”或“!=”與 NULL 比較。不是程序?qū)戝e了,是程序員為了防止將 if (p == NULL) 誤寫成 if (p = NULL),而有意把 p 和 NULL 顛倒。改寫為if (condition){return x。本節(jié)重點論述循環(huán)體的效率。for (row=0。 col++ ){sum = sum + a[row][col]。 row100。并且由于前者老要進行邏輯判斷,打斷了循環(huán)“流水線”作業(yè),使得編譯器不能對循環(huán)進行優(yōu)化處理,降低了效率。 iN。 iN。 i++) DoOtherthing()。示例 45(b)中的 x 值屬于閉區(qū)間“。? 【建議 451】建議 for 語句的循環(huán)控制變量的取值采用 “半開半閉區(qū)間”寫法。}else{ for (i=0。else DoOtherthing()。如果 N 非常小,兩者效率差別并不明顯,采用示例 44(c)的寫法比較好,因為程序更加簡潔。}}示例 44(a) 低效率:長循環(huán)在最外層 示例 44(b) 高效率:長循環(huán)在最內(nèi)層? 【建議 442】如果循環(huán)體內(nèi)存在邏輯判斷,并且循環(huán)次數(shù)很大,宜將邏輯判斷移到循環(huán)30 / 101體的外面。 col5。 row++){for ( col=0。? 【建議 441】在多重循環(huán)中,如果有可能,應(yīng)當(dāng)將最長的循環(huán)放在最內(nèi)層,最短的循環(huán)放在最外層,以減少 CPU 跨切循環(huán)層的次數(shù)。}或者改寫成更加簡練的 return (condition ? x : y)。程序中有時會遇到 if/else/return 的組合,應(yīng)該將如下不良風(fēng)格的程序if (condition)return x。盡管 NULL 的值與 0 相同,但是兩者意義不同。amp。假設(shè)整型變量的名字為 value,它與零值比較的標準 if 語句如下:if (value == 0) if (value != 0)不可模仿布爾變量的風(fēng)格而寫成if (value) // 會讓人誤解 value 是布爾變量if (!value) 浮點變量與零值比較? 【規(guī)則 433】不可將浮點變量用“==”或“!=”與任何數(shù)字比較。根據(jù)布爾類型的語義,零值為“假” (記為 FALSE) ,任何非零值都是“真” (記為TRUE) 。amp。應(yīng)該拆分為兩個獨立的語句:a = b + c。 c + f = g + h 。例如: i = a = b amp。 c)) 復(fù)合表達式如 a = b = c = 0 這樣的表達式稱為復(fù)合表達式。由于將表 41 熟記是比較困難的,為了防止產(chǎn)生歧義并提高可讀性,應(yīng)當(dāng)用括號確定表達式的操作順序。 從左至右^ 從左至右| 從左至右amp。 運算符的優(yōu)先級C++/C 語言的運算符有數(shù)十個,運算符的優(yōu)先級與結(jié)合律如表 41 所示。 簡單的 Unix 應(yīng)用程序命名規(guī)則26 / 101第 4 章 表達式和基本語句讀者可能懷疑:連 if、for、while、goto、switch 這樣簡單的東西也要探討編程風(fēng)格,是不是小題大做?我真的發(fā)覺很多程序員用隱含錯誤的方式寫表達式和基本語句,我自己也犯過類似的錯誤。例如:void Object::SetValue(int width, int height){m_width = width。 // 靜態(tài)變量…}? 【規(guī)則 325】如果不得已需要全局變量,則使全局變量加前綴 g_(表示 global) 。例如:const int MAX = 100。 // 函數(shù)名? 【規(guī)則 322】變量和參數(shù)用小寫字母開頭的單詞組合而成。24 / 101例如:class Node。? 【建議 311】盡量避免名字中出現(xiàn)數(shù)字編號,如 Value1,Value2 等,除非邏輯上的確需要編號。例如:int minValue。類的成員函數(shù)應(yīng)當(dāng)只使用“動詞” ,被省略掉的名詞就是對象本身。例如:float value。 // 變量 x 與 X 容易混淆void foo(int x)。而Unix 應(yīng)用程序的標識符通常采用“小寫加下劃線”的方式,如 add_child。那么名字是否越長約好?不見得! 例如變量名 maxval 就比 maxValueUntilOverflow 好用。amp。切忌使用漢語拼音來命名。命名規(guī)則對軟件產(chǎn)品而言并不是“成敗悠關(guān)”的事,我們不要化太多精力試圖發(fā)明世界上最好的命名規(guī)則,而應(yīng)當(dāng)制定一種令大多數(shù)項目成員滿意的命名規(guī)則,并在項目中貫徹實施。倘若采用“匈牙利”命名規(guī)則,則應(yīng)當(dāng)寫成int iI, iJ, ik。例如所有的字符變量均以 ch 為前綴,若是指針變量則追加前綴 p。void Func2(void)。float x, y。很多 C++教課書受到 Biarne Stroustrup 第一本著作的影響,不知不覺地采用了“以數(shù)據(jù)為中心”的書寫方式,并不見得有多少道理。我們不可以濫用類的封裝功能,不要把它當(dāng)成火鍋,什么東西都往里扔。? 【規(guī)則 278】當(dāng)代碼比較長,特別是有多重嵌套時,應(yīng)當(dāng)在一些段落的結(jié)束處加注釋,便于閱讀。? 【規(guī)則 274】注釋應(yīng)當(dāng)準確、易懂,防止注釋有二義性。否則多此一舉,令人厭煩。? 【規(guī)則 271】注釋是對代碼的“提示” ,而不是文檔。C++語言中,程序塊的注釋常采用 “/*…*/”,行注釋一般采用“//…” 。雖然將 x 和 y 分行定義可以避免誤解,但并不是人人都愿意這樣做。若將修飾符 * 靠近數(shù)據(jù)類型,例如:int* x。for (very_longer_initialization。 (very_longer_variable3 = very_longer_variable14)amp。? 【規(guī)則 252】長表達式要在低優(yōu)先級操作符處拆分成新行,操作符放在新行之首(以便突出操作符) 。 update){… // program code}for (initialization。? 【規(guī)則 242】{ }之內(nèi)的代碼塊在‘{ ’右邊數(shù)格處左對齊。 // 不要寫成 a . Function()。 y。 // 良好的風(fēng)格x=ab?a:b。i10。amp。 // 良好的風(fēng)格void Func1 (int x,int y,int z)。 i10。? 【規(guī)則 236】一元操作符如“! ”、 “~”、 “++”、 “”、 “amp。 update)。? 【規(guī)則 234】 ‘, ’之后要留空格,如 Function(x, y, z)。象 if、for、while 等關(guān)鍵字之后應(yīng)留一個空格再跟左括號‘(’ ,以突出關(guān)鍵字。 // 定義并初紿化 width
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1