開發(fā)人員單元測試規(guī)范_第1頁
開發(fā)人員單元測試規(guī)范_第2頁
開發(fā)人員單元測試規(guī)范_第3頁
開發(fā)人員單元測試規(guī)范_第4頁
開發(fā)人員單元測試規(guī)范_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、為了提高整個開發(fā)中心產(chǎn)品和項目的測試效率,保證產(chǎn)品與項目內(nèi)部系統(tǒng)集成測試的順利進(jìn)行,現(xiàn)要求系統(tǒng)開發(fā)部各項目組在提交產(chǎn)品至項目監(jiān)理部之前必須進(jìn)行嚴(yán)格的單元測試,即按照代碼的單元組成逐個進(jìn)行測試。具體說明如下:單元測試內(nèi)容單元測試的依據(jù)是詳細(xì)設(shè)計,應(yīng)對模塊內(nèi)所有重要的控制路徑設(shè)計測試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯誤。單元測試的測試類型主要包括:1模塊接口測試;2模塊局部數(shù)據(jù)結(jié)構(gòu)測試;3模塊邊界條件測試;4模塊中所有獨立執(zhí)行通路測試;5模塊的各條錯誤處理通路測試;6模塊的非法測試,例如在輸入數(shù)字的地方輸入字母;7代碼重用測試,在開發(fā)過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼上修改或

2、修改不全面,而造成的錯誤;8系統(tǒng)兼容測試,例如有些程序在IE6能運(yùn)行正常,到IE5下不能運(yùn)行。有些程序在WIN2000下能運(yùn)行,而到WIN98卻不能運(yùn)行。單元測試力度要求測試力度滿足:語句覆蓋:使被測程序的每條語句至少執(zhí)行一次;判定覆蓋:使被測程序的每一分支執(zhí)行一次;條件覆蓋:要求判定中的每個條件均為“真”、“假”兩種結(jié)果至少執(zhí)行一次;條件組合覆蓋:讓條件覆蓋中的結(jié)果的所有可能組合至少出現(xiàn)一次;單元測試步驟一般認(rèn)為單元測試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過復(fù)審和編譯檢查,便可開始單元測試。測試用例的設(shè)計應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計信息選取測試數(shù)據(jù),將增大發(fā)現(xiàn)各類錯誤的可能性。在確定測試用

3、例的同時,應(yīng)給出期望結(jié)果。項目組完成單元測試,向項目監(jiān)理部提交驗收版本的同時必須一并遞交單元測試案例及測試問題報告記錄。測試部由項目監(jiān)理部取得需測試系統(tǒng)的版本及相關(guān)文檔,若在測試期間發(fā)現(xiàn)單元測試中記錄的問題,如實記錄。項目監(jiān)理部視具體情況酌情對該項目組的績效考核與項目評分加以控制。不同語言及架構(gòu)的單元測試見附件。附件一c語言單元測試規(guī)范1.基本要求1.1程序結(jié)構(gòu)清析,簡單易懂,單個函數(shù)的程序行數(shù)不得超過100行。1.2打算干什么,要簡單,直接了當(dāng),代碼精簡,避免垃圾程序。1.3盡量使用標(biāo)準(zhǔn)庫函數(shù)和公共函數(shù)。1.4不要隨意定義全局變量,盡量使用局部變量。1.5使用括號以避免二義性。2.可讀性要求

4、2.1可讀性第一,效率第二。2.2保持注釋與代碼完全一致。2.3每個源程序文件,都有文件頭說明,說明規(guī)格見規(guī)范。2.4每個函數(shù),都有函數(shù)頭說明,說明規(guī)格見規(guī)范。2.5主要變量(結(jié)構(gòu)、聯(lián)合、類或?qū)ο螅┒x或引用時,注釋能反映其含義。2.7常量定義(DEFINE)有相應(yīng)說明。2.8處理過程的每個階段都有相關(guān)注釋說明。2.9在典型算法前都有注釋。2.10利用縮進(jìn)來顯示程序的邏輯結(jié)構(gòu),縮進(jìn)量一致并以Tab鍵為單位,定義Tab為6個字節(jié)。2.11循環(huán)、分支層次不要超過五層。2.12注釋可以與語句在同一行,也可以在上行。2.13空行和空白字符也是一種特殊注釋。2.14一目了然的語句不加注釋。2.15注釋的

5、作用范圍可以為:定義、引用、條件分支以及一段代碼。2.16注釋行數(shù)(不包括程序頭和函數(shù)頭說明部份)應(yīng)占總行數(shù)的1/5到1/3。3.結(jié)構(gòu)化要求3.1禁止出現(xiàn)兩條等價的支路。3.2禁止GOTO語句。3.3用IF語句來強(qiáng)調(diào)只執(zhí)行兩組語句中的一組。禁止ELSEGOTO和ELSERETURN。3.4用CASE實現(xiàn)多路分支。3.5避免從循環(huán)引出多個出口。3.6函數(shù)只有一個出口。3.7不使用條件賦值語句。3.8避免不必要的分支。3.9不要輕易用條件分支去替換邏輯表達(dá)式。4.正確性與容錯性要求4.1程序首先是正確,其次是優(yōu)美4.2無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應(yīng)先回頭檢查。4.3改一個錯誤

6、時可能產(chǎn)生新的錯誤,因此在修改前首先考慮對其它程序的影響。4.4所有變量在調(diào)用前必須被初始化。4.5對所有的用戶輸入,必須進(jìn)行合法性檢查。4.6不要比較浮點數(shù)的相等,如:10.0*0.1=1.0,不可靠4.7程序與環(huán)境或狀態(tài)發(fā)生關(guān)系時,必須主動去處理發(fā)生的意外事件,如文件能否邏輯鎖定、打印機(jī)是否聯(lián)機(jī)等。4.8單元測試也是編程的一部份,提交聯(lián)調(diào)測試的程序必須通過單元測試。5.可重用性要求5.1重復(fù)使用的完成相對獨立功能的算法或代碼應(yīng)抽象為公共控件或類。5.2公共控件或類應(yīng)考慮OO思想,減少外界聯(lián)系,考慮獨立性或封裝性。5.3公共控件或類應(yīng)建立使用模板。1適用范圍本標(biāo)準(zhǔn)適用于利用VisulC+,B

7、orlandC+進(jìn)行軟件程序開發(fā)的人員.。.2變量命名命名必須具有一定的實際意義,形式為xAbcFgh,x由變量類型確定,Abc、Fgh表示連續(xù)意義字符串,如果連續(xù)意義字符串僅兩個,可都大寫.如OK.具體例程:BOOL類型bEnable;ch*charchTextc*類對象cMain(對象實例)h*Handle(句柄)hWndi*intn*無符號整型p*指針sz,str*字符串wWORDx,y坐標(biāo)Char或者TCHAR類型與WindowsAPI有直接聯(lián)系的用szAppName10形式否則用FileName10形式,單個字符也可用小寫字母表示;Int類型nCmdShow;LONG類型lParam

8、;UINT類型uNotify;DWORD類型dwStart;PSTR類型pszTip;LPSTR類型lpCmdLineLPTSTR類型lpszClassName;LPVOID類型lpReservedWPARAM類型wParam,LPARAM類型lParamHWND類型hDlg;HDC類型hDC;HINSTANCE類型hInstanceHANDLE類型hInstance,HICON類型hIcon;intiTmpfloatfTmpDWORDdw*String,AnsiStringstr*m_類成員變量m_nVal,m_bFlagg_全局變量g_nMsg,g_bFlag局部變量中可采用如下幾個通用變

9、量:nTemp,nResult,I,J(一般用于循環(huán)變量)。其他資源句柄同上.3常量命名和宏定義常量和宏定義必須具有一定的實際意義;常量和宏定義在#include和函數(shù)定義之間;常量和宏定義必須全部以大寫字母來撰寫,中間可根據(jù)意義的連續(xù)性用下劃線連接,每一條定義的右側(cè)必須有一簡單的注釋,說明其作用;資源名字定義格式:菜單:IDM_XX或者CM_XX位圖:IDB_XX對話框:IDD_XX字符串:IDS_XXDLGINIT:DIALOG_XXICON:IDR_XX.4函數(shù)命名函數(shù)原型說明包括引用外來函數(shù)及內(nèi)部函數(shù),外部引用必須在右側(cè)注明函數(shù)來源:模塊名及文件名,如是內(nèi)部函數(shù),只要注釋其定義文件名;

10、第一個字母必須使用大寫字母,要求用大小寫字母組合規(guī)范函數(shù)命名,必要時可用下劃線間隔,示例如下:voidUpdateDB_Tfgd(TRACK_NAME);file:/ModuleName:r01/sdw.cvoidPrintTrackData(TRACK_NAME);file:/ModuleName:r04/tern.cvoidImportantPoint(void);file:/ModuleName:r01/sdw.cvoidShowChar(int,int,chtype);file:/LocalModulevoidScrollUp_V(int,int);file:/LocalModule.

11、5結(jié)構(gòu)體命名結(jié)構(gòu)體類型命名必須全部用大寫字母,原則上前面以下劃線開始;結(jié)構(gòu)體變量命名必須用大小寫字母組合,第一個字母必須使用大寫字母,必要時可用下劃線間隔。對于私有數(shù)據(jù)區(qū),必須注明其所屬的進(jìn)程。全局?jǐn)?shù)據(jù)定義只需注意其用途。示例如下:typedefstructcharszProductName20;charszAuthor20;charszReleaseDate16;charszVersion10;unsignedlongMaxTables;unsignedlongUsedTables;DBS_DATABASE;DBS_DATABASEGdataBase;6控件的命名:用小寫前綴表示類別用小寫前

12、綴表示類別:fm窗口cmd按鈕cobcombo,下拉式列表框txt文本輸入框lablabal,標(biāo)簽imgimage,圖象picpicturegrdGrid,網(wǎng)格scr滾動條lst列表框frmfram7注釋原則上注釋要求使用中文;文件開始注釋內(nèi)容包括:公司名稱、版權(quán)、作者名稱、時間、模塊用途、背景介紹等,復(fù)雜的算法需要加上流程說明;函數(shù)注釋包括:輸入、輸出、函數(shù)描述、流程處理、全局變量、調(diào)用樣例等,復(fù)雜的函數(shù)需要加上變量用途說明;程序中注釋包括:修改時間和作者、方便理解的注釋等;引用一:文件開頭的注釋模板/*文件名:*Copyright(c)1998-1999*公司技術(shù)開發(fā)部*創(chuàng)建人:*日期:*

13、修改人:*日期:*描述:*版本:*-*/引用二:函數(shù)開頭的注釋模板/*函數(shù)名:*輸入:a,b,c*a-*b-*c-*輸出:x-*x為1,表示.*x為0,表示.*功能描述:*全局變量:*調(diào)用模塊:*作者:*日期:*修改:*日期:*版本*/引用三:程序中的注釋模板/*-*/*注釋內(nèi)容*/*-*/8程序a.程序編碼力求簡潔,結(jié)構(gòu)清晰,避免太多的分支結(jié)構(gòu)及太過于技巧性的程序,盡量不采用遞歸模式。b.編寫程序時,亦必須想好測試的方法,換句話說,”單元測試”的測試方案應(yīng)在程序編寫時一并擬好。c.注釋一定要與程序一致。d.版本封存以后的修改一定要將老語句用/*/封閉,不能自行刪除或修改,并要在文件及函數(shù)的修

14、改記錄中加以記錄。e.程序中每個block的開頭”及”必須對齊,嵌套的block每進(jìn)一套,縮進(jìn)一個tab,TAB為4個空格,block類型包括if、for、while、do等關(guān)鍵字引出的。f.對于比較大的函數(shù),每個block和特殊的函數(shù)調(diào)用,都必須注明其功能,舉例如下:count.divisor=1193280/freq;/computethepropercountOutByte(unsignedshort)67,(unsignedchar)182);/tell8253thatacountiscomingOutByte(unsignedshort)66,count.c0);/sendlow-o

15、rderbyteOutByte(unsignedshort)66,count.c1);/sendhigh-orderbytebcb,delphi中的變量命名:遵循匈牙利命名法,命名必須有意義,制定如下規(guī)定窗體:以大寫的W開始,如About版權(quán)窗體,命名為WAbout文件:以大寫的F開始,如About版權(quán)窗體,文件命名為FAbout.cpp按鈕(Button):如退出按鈕,命名為btnExit基類:加base標(biāo)記,如報表基類,窗體命名為:WBaseRep,文件命名為FBaseRep.cpp1.在.h/.cpp的開頭應(yīng)有一段格式統(tǒng)一的說明,內(nèi)容包括:a.文件名(FileName);b.創(chuàng)建人(Cr

16、eater);c.文件創(chuàng)建時間(Date);d.簡短說明文件功能、用途(Comment)。好習(xí)慣2.除非極其簡單,否則對函數(shù)應(yīng)有注釋說明。內(nèi)容包括:功能、入口/出口參數(shù),必要時還可有備注或補(bǔ)充說明。還是好習(xí)慣3.每列代碼的長度推薦為80列,最長不得超過120列;折行以對齊為準(zhǔn)。太寬了,我的限制是60列,因為文本方式下屏幕一共80列,如果你用BC這一類的編輯器,窗口邊框等又要占據(jù)一定空間,所以80列太寬4.循環(huán)、分支代碼,判斷條件與執(zhí)行代碼不得在同一行上。很對5.指針的定義,*號既可以緊接類型,也可以在變量名之前。例:可寫做:int*pnsize;也可寫做:int*pnsize;但不得寫做:in

17、t*pnsize;建議采用第二種,除非附加另外一條規(guī)定:一次只聲明一個變量,否則就會讓人混淆,比如:int*a,b;看起來b好像也是個指針,其實不是。6.在類的成員函數(shù)內(nèi)調(diào)用非成員函數(shù)時,在非成員函數(shù)名前必須加上:。這一條我倒覺得并不是必需的,我的看法是決不要讓你的類成員函數(shù)和全局函數(shù)的名稱相同(或類似)7.函數(shù)入口參數(shù)有缺省值時,應(yīng)注釋說明。例:BOOLCWpsDib:PaintDIB(CDC*pDC,CRect&rc,intnBrightness,file:/*=0*/BOOLbGrayScalefile:/*=FALSE*/)每個變量寫一行,必要時加上/*in,out*/注釋8.else

18、if必須寫在一行。應(yīng)該盡量避免elseif這樣的結(jié)構(gòu)9.與、有關(guān)的各項規(guī)定:9.1、應(yīng)獨占一行。在該行內(nèi)可有注釋。9.2必須另起一行,之后的代碼必須縮進(jìn)一個Tab。與必須在同一列上。9.3在循環(huán)、分支之后若只有一行代碼,雖然可省略、,但不推薦這么做。若省略后可能引起歧義,則必須加上、。持保留意見,因為GNU的代碼規(guī)范是這樣的:if(NULL=ptr)/dosomethinghere或者if(NULL=ptr)/dosomethinghere爭論哪個更好并沒有意義,關(guān)鍵是統(tǒng)一,如果用VC當(dāng)然你的辦法最方便,可是如果你用emacs或者vi,就不是這樣了。10.與空格有關(guān)的各項規(guī)定。10.1在所有兩

19、目、三目運(yùn)算符的兩邊都必須有空格。在單目運(yùn)算符兩端不必空格。但在、:、.、等運(yùn)算符前后,及&(取地址)、*(取值)等運(yùn)算符之后不得有空格。10.2for、while、if等關(guān)鍵詞之后應(yīng)有1個空格,再接(,之后無空格;在結(jié)尾的)前不得有空格。我認(rèn)為在括號兩端加空格并不是什么錯誤,尤其是在一個條件十分復(fù)雜的if語句里10.3調(diào)用函數(shù)、宏時,(、)前后不得有空格。10.4類型強(qiáng)制轉(zhuǎn)換時,()前后不得有空格同上11.與縮進(jìn)有關(guān)的各項規(guī)定11.1縮進(jìn)以Tab為單位。1個Tab為4個空格我認(rèn)為這個值應(yīng)該更大,我自己使用8個空格,如果你的代碼因為縮進(jìn)幅度太大而導(dǎo)致折行,那么幾乎可以肯定你的程序設(shè)計方案有問題

20、。11.2下列情況,代碼縮進(jìn)一個Tab:1.函數(shù)體相對函數(shù)名及、。2.if、else、for、while、do等之后的代碼。3.一行之內(nèi)寫不下,折行之后的代碼,應(yīng)在合理的位置進(jìn)行折行。若有+-*/等運(yùn)算符,則運(yùn)算符應(yīng)在上一行末尾,而不應(yīng)在下一行的行首。這一條我反對,運(yùn)算符應(yīng)該放在下一行行首,以使人能清楚的知道這一行是續(xù)上一行的,比如if(something&somethingelse&otherthings)如果寫做if(something&somethingelse&otherthings)反而看不清楚11.3下列情況,不必縮進(jìn):switch之后的case、default。附件二java語言

21、單元測試規(guī)范java語言的編程規(guī)范遵照公司的開發(fā)規(guī)范。1.基本要求1.1程序結(jié)構(gòu)清析,簡單易懂,單個函數(shù)的程序行數(shù)不得超過100行。1.2代碼精簡,避免垃圾程序。1.3盡量使用標(biāo)準(zhǔn)庫函數(shù)和公共函數(shù)。1.4不要隨意定義全局變量,盡量使用局部變量。1.5使用括號以避免二義性。2.可讀性要求2.1可讀性第一,效率第二。2.2保持注釋與代碼完全一致。2.3每個源程序文件,都有文件頭說明,說明規(guī)格見規(guī)范。2.4每個函數(shù),都有函數(shù)頭說明,說明規(guī)格見規(guī)范。2.5主要變量(結(jié)構(gòu)、聯(lián)合、類或?qū)ο螅┒x或引用時,注釋能反映其含義。2.7常量定義(DEFINE)有相應(yīng)說明。2.8處理過程的每個階段都有相關(guān)注釋說明。

22、2.9在典型算法前都有注釋。2.10利用縮進(jìn)來顯示程序的邏輯結(jié)構(gòu),縮進(jìn)量一致并以Tab鍵為單位,定義Tab為6個字節(jié)。2.11循環(huán)、分支層次不要超過五層。2.12注釋可以與語句在同一行,也可以在上行。2.13空行和空白字符也是一種特殊注釋。2.14一目了然的語句不加注釋。2.15注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。2.16注釋行數(shù)(不包括程序頭和函數(shù)頭說明部份)應(yīng)占總行數(shù)的1/5到1/3。3.結(jié)構(gòu)化要求3.1禁止出現(xiàn)兩條等價的支路。3.2禁止GOTO語句。3.3用IF語句來強(qiáng)調(diào)只執(zhí)行兩組語句中的一組。禁止ELSEGOTO和ELSERETURN。3.4用CASE實現(xiàn)多路分支。

23、3.5避免從循環(huán)引出多個出口。3.6函數(shù)只有一個出口。3.7不使用條件賦值語句。3.8避免不必要的分支。3.9不要輕易用條件分支去替換邏輯表達(dá)式。4.正確性與容錯性要求4.1程序首先是正確,其次是優(yōu)美4.2無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應(yīng)先回頭檢查。4.3改一個錯誤時可能產(chǎn)生新的錯誤,因此在修改前首先考慮對其它程序的影響。4.4所有變量在調(diào)用前必須被初始化。4.5對所有的用戶輸入,必須進(jìn)行合法性檢查。4.6不要比較浮點數(shù)的相等,如:10.0*0.1=1.0,不可靠4.7程序與環(huán)境或狀態(tài)發(fā)生關(guān)系時,必須主動去處理發(fā)生的意外事件,如文件能否邏輯鎖定、打印機(jī)是否聯(lián)機(jī)等。4.8單元

24、測試也是編程的一部份,提交聯(lián)調(diào)測試的程序必須通過單元測試。5.可重用性要求5.1重復(fù)使用的完成相對獨立功能的算法或代碼應(yīng)抽象為公共控件或類。5.2公共控件或類應(yīng)考慮OO思想,減少外界聯(lián)系,考慮獨立性或封裝性。5.3公共控件或類應(yīng)建立使用模板。命名規(guī)范定義這個規(guī)范的目的是讓項目中所有的文檔都看起來像一個人寫的,增加可讀性,減少項目組中因為換人而帶來的損失。(這些規(guī)范并不是一定要絕對遵守,但是一定要讓程序有良好的可讀性)Package的命名Package的名字應(yīng)該都是由一個小寫單詞組成。Class的命名Class的名字必須由大寫字母開頭而其他字母都小寫的單詞組成Class變量的命名變量的名字必須用

25、一個小寫字母開頭。后面的單詞用大寫字母開頭。StaticFinal變量的命名StaticFinal變量的名字應(yīng)該都大寫,并且指出完整含義。參數(shù)的命名參數(shù)的名字必須和變量的命名規(guī)范一致。數(shù)組的命名數(shù)組應(yīng)該總是用下面的方式來命名:bytebuffer;而不是:bytebuffer;方法的參數(shù)使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字:SetCounter(intsize)this.size=size;Java文件樣式所有的Java(*.java)文件都必須遵守如下的樣式規(guī)則版權(quán)信息版權(quán)信息必須在java文件的開頭,比如:/*Copyright?2000ShanghaiXXXC

26、o.Ltd.*Allrightreserved.*/其他不需要出現(xiàn)在javadoc的信息也可以包含在這里。Package/Importspackage行要在import行之前,import中標(biāo)準(zhǔn)的包名要在本地的包名之前,而且按照字母順序排列。如果import行中包含了同一個包中的不同子目錄,則應(yīng)該用*來處理。package.stats;importjava.io.*;importjava.util.Observable;importhotlava.util.Application;這里java.io.*使用來代替InputStreamandOutputStream的。Class接下來的是類的注

27、釋,一般是用來解釋類的。/*Aclassrepresentingasetofpacketandbytecounters*Itisobservabletoallowittobewatched,butonly*reportschangeswhenthecurrentsetiscomplete*/接下來是類定義,包含了在不同的行的extends和implementspublicclassCounterSetextendsObservableimplementsCloneableClassFields接下來是類的成員變量:/*Packetcounters*/protectedintpackets;pu

28、blic的成員變量必須生成文檔(JavaDoc)。Proceted、private和package定義的成員變量如果名字含義明確的話,可以沒有注釋。存取方法接下來是類變量的存取的方法。它只是簡單的用來將類的變量賦值獲取值的話,可以簡單的寫在一行上。/*Getthecounters*returnanarraycontainingthestatisticaldata.Thisarrayhasbeen*freshlyallocatedandcanbemodifiedbythecaller.*/publicintgetPackets()returncopyArray(packets,offset);p

29、ublicintgetBytes()returncopyArray(bytes,offset);publicintgetPackets()returnpackets;publicvoidsetPackets(intpackets)this.packets=packets;其它的方法不要寫在一行上構(gòu)造函數(shù)接下來是構(gòu)造函數(shù),它應(yīng)該用遞增的方式寫(比如:參數(shù)多的寫在后面)。訪問類型(public,private等.)和任何static,final或synchronized應(yīng)該在一行中,并且方法和參數(shù)另寫一行,這樣可以使方法和參數(shù)更易讀。publicCounterSet(intsize)this.si

30、ze=size;克隆方法如果這個類是可以被克隆的,那么下一步就是clone方法:publicObjectclone()tryCounterSetobj=(CounterSet)super.clone();obj.packets=(int)packets.clone();obj.size=size;returnobj;catch(CloneNotSupportedExceptione)thrownewInternalError(UnexpectedCloneNotSUpportedException:+e.getMessage();類方法下面開始寫類的方法:/*Setthepacketcount

31、ers*(suchaswhenrestoringfromadatabase)*/protectedfinalvoidsetArray(intr1,intr2,intr3,intr4)throwsIllegalArgumentException/Ensurethearraysareofequalsize/if(r1.length!=r2.length|r1.length!=r3.length|r1.length!=r4.length)thrownewIllegalArgumentException(Arraysmustbeofthesamesize);System.arraycopy(r1,0,

32、r3,0,r1.length);System.arraycopy(r2,0,r4,0,r1.length);toString方法無論如何,每一個類都應(yīng)該定義toString方法:publicStringtoString()Stringretval=CounterSet:;for(intI=0;I0)I+;/錯誤,和在同一行if(i0)I+;/正確,單獨作為一行語句永遠(yuǎn)單獨作為一行.如果語句應(yīng)該縮進(jìn)到與其相對應(yīng)的那一行相對齊的位置。括號左括號和后一個字符之間不應(yīng)該出現(xiàn)空格,同樣,右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格.下面的例子說明括號和空格的錯誤及正確使用:CallProc(Aparameter);/錯誤CallProc(Aparameter);/正確不要在語句中使用無意義的括號.括號只應(yīng)該為達(dá)到某種目的而出現(xiàn)在源代碼中。下面的例子說明錯誤和正確的用法:if(I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論