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

正文內(nèi)容

高質量cc++編程講義(編輯修改稿)

2025-05-30 00:40 本頁面
 

【文章內(nèi)容簡介】 1】代碼行最大長度宜控制在70 至80個字符以內(nèi)。代碼行不要過長,否則眼睛看不過來,也不便于打印。l l 【規(guī)則252】長表達式要在低優(yōu)先級操作符處拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要進行適當?shù)目s進,使排版整齊,語句可讀。 if ((very_longer_variable1 = very_longer_variable12)amp。amp。 (very_longer_variable3 = very_longer_variable14)amp。amp。 (very_longer_variable5 = very_longer_variable16)){ dosomething()。}virtual CMatrix CMultiplyMatrix (CMatrix leftMatrix, CMatrix rightMatrix)。 for (very_longer_initialization。 very_longer_condition。 very_longer_update){ dosomething()。}示例25 長行的拆分 修飾符的位置修飾符 * 和&應該靠近數(shù)據(jù)類型還是該靠近變量名,是個有爭議的活題。若將修飾符 * 靠近數(shù)據(jù)類型,例如:int* x。 從語義上講此寫法比較直觀,即x 是int 類型的指針。上述寫法的弊端是容易引起誤解,例如:int* x, y。 此處y 容易被誤解為指針變量。雖然將 x和y 分行定義可以避免誤解,但并不是人人都愿意這樣做。 l l 【規(guī)則261】應當將修飾符 * 和&緊靠變量名例如:char *name。 int *x, y。 // 此處y不會被誤解為指針 注釋C語言的注釋符為“/*…*/”。C++語言中,程序塊的注釋常采用“/*…*/”,行注釋一般采用“//…”。注釋通常用于:(1 )版本、版權聲明;(2)函數(shù)接口說明;(3)重要的代碼行或段落提示。雖然注釋有助于理解代碼,但注意不可過多地使用注釋。參見示例26。 l l 【規(guī)則271】注釋是對代碼的 “提示”,而不是文檔。程序中的注釋不可喧賓奪主,注釋太多了會讓人眼花繚亂。注釋的花樣要少。l l 【規(guī)則272】如果代碼本來就是清楚的,則不必加注釋。否則多此一舉,令人厭煩。例如i++。 // i 加 1,多余的注釋l l 【規(guī)則273】邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。l l 【規(guī)則274】注釋應當準確、易懂,防止注釋有二義性。錯誤的注釋不但無益反而有害。l l 【規(guī)則275】盡量避免在注釋中使用縮寫,特別是不常用縮寫。l l 【規(guī)則276】注釋的位置應與被描述的代碼相鄰,可以放在代碼的上方或右方,不可放在下方。l l 【規(guī)則278 】當代碼比較長,特別是有多重嵌套時,應當在一些段落的結束處加注釋,便于閱讀。 示例26 程序的注釋 類的版式類可以將數(shù)據(jù)和函數(shù)封裝在一起,其中函數(shù)表示了類的行為(或稱服務)。類提供關鍵字public、protected和private,分別用于聲明哪些數(shù)據(jù)和函數(shù)是公有的、受保護的或者是私有的。這樣可以達到信息隱藏的目的,即讓類僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。我們不可以濫用類的封裝功能,不要把它當成火鍋,什么東西都往里扔。類的版式主要有兩種方式:(1 )將private類型的數(shù)據(jù)寫在前面,而將public 類型的函數(shù)寫在后面,如示例83(a)。采用這種版式的程序員主張類的設計“以數(shù)據(jù)為中心”,重點關注類的內(nèi)部結構。(2)將public類型的函數(shù)寫在前面,而將private類型的數(shù)據(jù)寫在后面,(b )采用這種版式的程序員主張類的設計“以行為為中心 ”,重點關注的是類應該提供什么樣的接口(或服務)。很多C++教課書受到 Biarne Stroustrup第一本著作的影響,不知不覺地采用了“以數(shù)據(jù)為中心” 的書寫方式,并不見得有多少道理。我建議讀者采用“以行為為中心 ”的書寫方式,即首先考慮類應該提供什么樣的函數(shù)。這是很多人的經(jīng)驗—— /** 函數(shù)介紹:* 輸入?yún)?shù):* 輸出參數(shù):* 返回值 :*/void Function(float x, float y, float z){ …} if (…){ … while (…) {…} // end of while…} // end of if“這樣做不僅讓自己在設計類時思路清晰,而且方便別人閱讀。因為用戶最關心的是接口,誰愿意先看到一堆私有數(shù)據(jù)成員!” class A{ private:int i, j。float x, y。 … public:void Func1(void)。void Func2(void)?!瓆class A{ public:void Func1(void)。void Func2(void)?!?private:int i, j。float x, y。 …}(a) 以數(shù)據(jù)為中心版式 (b) 以行為為中心的版式 第3章命名規(guī)則比較著名的命名規(guī)則當推Microsoft公司的“匈牙利” 法,該命名規(guī)則的主要思想是“ 在變量和函數(shù)名中加入前綴以增進人們對程序的理解” 。例如所有的字符變量均以ch為前綴,若是指針變量則追加前綴p。如果一個變量由ppch 開頭,則表明它是指向字符指針的指針?!靶傺览?法最大的缺點是煩瑣,例如int i, j, k。 float x, y, z。倘若采用“匈牙利”命名規(guī)則,則應當寫成int iI, iJ, ik。 // 前綴 i表示int類型float fX, fY, fZ。 // 前綴 f表示float類型如此煩瑣的程序會讓絕大多數(shù)程序員無法忍受。據(jù)考察,沒有一種命名規(guī)則可以讓所有的程序員贊同,程序設計教科書一般都不指定命名規(guī)則。命名規(guī)則對軟件產(chǎn)品而言并不是“成敗悠關” 的事,我們不要化太多精力試圖發(fā)明世界上最好的命名規(guī)則,而應當制定一種令大多數(shù)項目成員滿意的命名規(guī)則,并在項目中貫徹實施。 共性規(guī)則 本節(jié)論述的共性規(guī)則是被大多數(shù)程序員采納的,我們應當在遵循這些共性規(guī)則的前提下,再擴充特定的規(guī)則。 l l 【規(guī)則311】標識符應當直觀且可以拼讀,可望文知意,不必進行“解碼”。標識符最好采用英文單詞或其組合,便于記憶和閱讀。切忌使用漢語拼音來命名。程序中的英文單詞一般不會太復雜,用詞應當準確。例如不要把CurrentValue寫成NowValue。 l l 【規(guī)則312】標識符的長度應當符合“minlength amp。amp。 maxinformation”原則。幾十年前老ANSI C規(guī)定名字不準超過6 個字符,現(xiàn)今的 C++/C不再有此限制。一般來說,長名字能更好地表達含義,所以函數(shù)名、變量名、類名長達十幾個字符不足為怪。那么名字是否越長約好?不見得! 例如變量名maxval就比maxValueUntilOverflow好用。單字符的名字也是有用的,常見的如i,j,k,m,n,x,y,z等,它們通??捎米骱瘮?shù)內(nèi)的局部變量。 l l 【規(guī)則313】命名規(guī)則盡量與所采用的操作系統(tǒng)或開發(fā)工具的風格保持一致。例如Windows應用程序的標識符通常采用 “大小寫”混排的方式,如AddChild。而Unix應用程序的標識符通常采用“小寫加下劃線”的方式,如add_child。別把這兩類風格混在一起用。 l l 【規(guī)則314】程序中不要出現(xiàn)僅靠大小寫區(qū)分的相似的標識符。例如:int x, X。 // 變量x 與 X 容易混淆void foo(int x)。 // 函數(shù)foo 與FOO容易混淆void FOO(float x)。 l l 【規(guī)則315】程序中不要出現(xiàn)標識符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會發(fā)生語法錯誤,但會使人誤解。 l l 【規(guī)則316 】變量的名字應當使用“名詞”或者“ 形容詞+名詞”。例如:float value。float oldValue。float newValue。 l l 【規(guī)則317】全局函數(shù)的名字應當使用“動詞” 或者“動詞+名詞”(動賓詞組)。類的成員函數(shù)應當只使用“ 動詞”,被省略掉的名詞就是對象本身。例如:DrawBox()。 // 全局函數(shù) boxDraw()。 // 類的成員函數(shù) l l 【規(guī)則318】用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù)等。例如:int minValue。int maxValue。 int SetValue(…)。int GetValue(…)。 178。 178。 【建議311】盡量避免名字中出現(xiàn)數(shù)字編號,如Value1,Value2等,除非邏輯上的確需要編號。這是為了防止程序員偷懶,不肯為命名動腦筋而導致產(chǎn)生無意義的名字(因為用數(shù)字編號最省事)。 簡單的Windows應用程序命名規(guī)則 作者對“匈牙利” 命名規(guī)則做了合理的簡化,下述的命名規(guī)則簡單易用,比較適合于Windows 應用軟件的開發(fā)。 l l 【規(guī)則321】類名和函數(shù)名用大寫字母開頭的單詞組合而成。例如: class Node。 // 類名 class LeafNode。 // 類名 void Draw(void)。 // 函數(shù)名 void SetValue(int value)。 // 函數(shù)名 l l 【規(guī)則322】變量和參數(shù)用小寫字母開頭的單詞組合而成。例如: BOOL flag。 int drawMode。 l l 【規(guī)則323】常量全用大寫的字母,用下劃線分割單詞。例如: const int MAX = 100。 const int MAX_LENGTH = 100。 l l 【規(guī)則324】靜態(tài)變量加前綴s_(表示static)。例如:void Init(…){ static int s_initValue。 // 靜態(tài)變量 …} l l 【規(guī)則325】如果不得已需要全局變量,則使全局變量加前綴 g_(表示global)。例如:int g_howManyPeople。 // 全局變量int g_howMuchMoney。 // 全局變量 l l 【規(guī)則326】類的數(shù)據(jù)成員加前綴m_(表示member),這樣可以避免數(shù)據(jù)成員與成員函數(shù)的參數(shù)同名。例如: void Object::SetValue(int width, int height) { m_width = width。m_height = height。} l l 【規(guī)則327】為了防止某一軟件庫中的一些標識符和其它軟件庫中的沖突,可以為各種標識符加上能反映軟件性質的前綴。例如三維圖形標準OpenGL的所有庫函數(shù)均以gl開頭,所有常量(或宏定義)均以GL開頭。 簡單的Unix應用程序命名規(guī)則 第4章表達式和基本語句讀者可能懷疑:連if、for、while、goto、switch這樣簡單的東西也要探討編程風格,是不是小題大做?我真的發(fā)覺很多程序員用隱含錯誤的方式寫表達式和基本語句,我自己也犯過類似的錯誤。表達式和語句都屬于C++/C的短語結構語法。它們看似簡單,但使用時隱患比較多。本章歸納了正確使用表達式和語句的一些規(guī)則與建議。 運算符的優(yōu)先級 C++/C語言的運算符有數(shù)十個,運算符的優(yōu)先級與結合律如表41 所示。注意一元運算符 + * 的優(yōu)先級高于對應的二元運算符。 優(yōu)先級 運算符 結合律( ) [ ] . 從左
點擊復制文檔內(nèi)容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1