




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1 2.1.4.方法和函數(shù)的布局(適用于C/C+)對于有較多參數(shù)的函數(shù)的寫法如果參數(shù)較多,一行寫不下,我們應該分成幾行來寫,并且每個參數(shù)都另起一行對齊: int AnyMethod(int argl,int arg2,int arg3, int arg4);2縮進的時候,每一層縮進 3, 4,或8個空格。(推薦使用4個空格)2.4.保證一行只寫一條語句(適用于C/C+)一行最多只寫一條語句一行只定義一個變量例如:不要象下面這樣:char *a, *x;要象這樣:char* a= 0;/文檔說明char* x= 0; /文檔說明2.5.1.花括號的位置在關鍵字的下一行單獨放置括號,并且與關鍵字對
2、齊,如:if (condition).什么時候應使用花括號所有的if, while和do語句,要么用單行格式,要么使用花括號格式。使用花括號格式:if (1 = somevalue)(somevalue = 2;)單行格式:if (1 = somevalue) somevalue = 2;或下面這樣(對于這種寫法,建議使用花括號):if (1 = somevalue)somevalue = 2;在花括號結束的位置加上注釋是一個好習慣。假如前后花括號距離很遠,注釋就能幫你理解它是如何對應的。圓括號與關鍵字之間應放一個空格。If (.)圓括號與函數(shù)名之間不要有空格。Char Text(.)if e
3、lse 語句的格式(適用于C/C+)布局 if ( 條件)注釋( ) else if ( 條件)/注釋( ) else/注釋( )條件格式總是把常量放在等號或不等于號的左邊: if ( 6 = errorNum ).一個很重要的理由是,假如漏寫一個等號,這種寫法會產(chǎn)生一個編譯錯誤,有助于馬上發(fā)現(xiàn)問題。直通的case語句,應該放置一條注釋說明這個case語句是直通到下一個 case語句總是要寫default語句,不管是否是需要。在case中需要定義變量的時候,應把所有代碼放在語句塊中。運算符號的規(guī)則 (適用于C/C+)一元操作符如(!、等等)應貼近操作對象。 如: if (!IsOk) retu
4、rn +v;二元操作符如(+、*、 =等等)應在前后留空格。 如:if ( v1 = v2)return v1 * 3;+和-盡量使用前置運算。在C+用,不管+i還是i+,總是+i更容易生成優(yōu)化代碼。如:for(int i = 0; i 10; +i)變量聲明語句塊(適用于C/C+)變量應該是隨用隨聲明,不要集中在函數(shù)前 (有些C語言不支持,則不在此要求之列)。特別是在for語句的循環(huán)變量,應只在 for語句中定義。如:for(int i = 0; i 10; +i)聲明語句塊必須要對齊類型,變量,等號和初始化值要分別對齊。例如:DWORDmDword;DWORD*mpDword;char*m
5、pChar;charmChar;mDword=0;mpDword=NULL;mpChar=NULL;mChar=0;不要用if語句的默認方法測試非零值(適用于C/C+)If語句只用于檢測布爾值(bool),不要用默認的方法測試非零值,比如: 建議使用:if (FAIL != f()不建議使用下面的表達式:if (f()不要直接使用數(shù)字(適用于C/C+)直接使用數(shù)字,會使源代碼難以理解和維護。如:if (22 = foo)else if (19 = foo)else if (16 = foo)else當一段時間過去以后, start_thermo_nuclear_war(); refund_lo
6、tso_money(); infinite_loop(); cry_cause_im_lost(); 有誰會記得22和19是什么意思?假如數(shù)字改變,或者是編寫錯誤,更是難以發(fā)現(xiàn)問題。我們可以用#define或者常量來改變這一狀況,如: #define PRESIDENT_WENT_CRAZY (22) const int WE_GOOFED= 19; enum THEY_DIDNT_PAY= 16if (PRESIDENT_WENT_CRAZY = foo) else if (WE_GOOFED= foo)else if (THEY_DIDNT_PAY = foo) else start_th
7、ermo_nuclear_war(); refund_lotso_money(); infinite_loop(); happy_days_i_know_why_im_here(); ;總結學習:1. “()”內(nèi)語句之間無論“、都有個空格Eg: for (int i=0; i0) if (x100) x=x - 10; y; else x+; .在“()”前后的語句,語句與“()”留有一個空格Eg: if ( HeacHnext=NULL) return true;2 .命名規(guī)則起個合適的名字類的名稱(適用于C+)類的名稱要能告訴我們,這個類是什么。因此,類的名稱通常是名詞。類的名字不需要告訴
8、我們,它從哪個類繼承而來的。有時候加個后綴是很有用的。比如類是一個代理(Agents)時,起名叫DownloadAgent更能表達真實的意圖。方法和函數(shù)的名稱(適用于 C/C+)方法和函數(shù)通常都要執(zhí)行某種行為,因此,名稱要能清楚的說明它做什么:CheckForErrors()而不是 ErrorCheck(), DumpDataToFile()而不是 DataFile()。這樣也 可以很容易的區(qū)別函數(shù)和數(shù)據(jù)。函數(shù)名總以動詞開頭,后面跟隨其它名稱。這樣看起來更自然些。可以加一些必要的后綴:Max -表不取最大值Cnt -表示當前的計數(shù)值Key -表木鍵值例如:RetryMax表示可接收的最大數(shù),R
9、etryCnt表示當前接收的數(shù)量。前綴也同樣有用:Is -用于詢問一些問題。只要看到Is開頭,就知道這是一個查詢。Get -用于獲取一個值。Set -用于設置一個值。例如:IsHitRetryLimit.類的命名(適用于C+)用大寫字母作為單詞的分隔,每個單詞的首字母大寫,其它字母均小寫。名字的第一個字母應大寫不含有下劃線(_)例如:class NameOneTwo;class Name;類屬性的命名(適用于C+)屬性(通常是非公有數(shù)據(jù)成員)名字以字母 m開頭。在m后面,使用與類名相同的規(guī)則。m總是位于其它修飾符(如表示指針的p)的前面。例如:class NameOneTwo(public:i
10、ntVarAbc();intErrorNumber();private:intmVarAbc;intmErrorNumber;String*mpName;)方法和函數(shù)參數(shù)的命名(適用于C+)第一個字母必須小寫。第一個字母后面的單詞使用與類名相同的規(guī)則。例如:class NameOneTwo(public:intStartYourEngines(Engine& rSomeEngine,Engine& rAnotherEngine); )局部變量的命名(適用于C/C+)所有字母都用小寫使用下劃線二作為單詞的分隔。例如:intNameOneTwo:HandleError(int errorNumber) (int error= OsErr();Time time_of_error;ErrorProcessor error_processor;)指針變量的命名前綴(適用于 C/C+)指針變量多數(shù)情況應在前面加p。星號*應靠近類型,而不是變量名。例如:String* pName= new String;特別的:String* pName, name;應分成兩行來寫:String* pName;String name;全局變量的命名前綴(適用于C/C+)全局變量總是以g作為前綴。 例如:Logger gLog;Lo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國廢輪胎煉油設備市場供需格局及未來發(fā)展趨勢報告
- 2025年中國民族樂器行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 基因疾病的遺傳咨詢和家庭管理
- 營銷部綜合事務管理辦法
- 蔡甸區(qū)街道績效管理辦法
- 街道幼兒園自主管理辦法
- 證監(jiān)會并購重組管理辦法
- 衢江區(qū)礦產(chǎn)開采管理辦法
- 西安市民營經(jīng)濟管理辦法
- 西藏自治區(qū)合同管理辦法
- 水電設備安裝合同
- 北京民政局離婚協(xié)議書范本示例
- 教育培訓分期付款協(xié)議
- T-CCSAS 023-2022 危險化學品企業(yè)緊急切斷閥設置和使用規(guī)范
- 弱電工程招標文件樣本模板
- 抖音發(fā)展歷程介紹
- 評茶員(高級)試題(含答案)
- HGT20615-2009整體法蘭尺寸及公差
- TSHSPS 001-2024 臨床試驗協(xié)調(diào)員管理及能力評估規(guī)范上海
- 寒假作業(yè)一年級上冊《數(shù)學每日一練》30次打卡
- 人教版八年級物理下冊期末復習試題及答案
評論
0/150
提交評論