JAVA編碼規(guī)范試題3.doc_第1頁
JAVA編碼規(guī)范試題3.doc_第2頁
JAVA編碼規(guī)范試題3.doc_第3頁
JAVA編碼規(guī)范試題3.doc_第4頁
JAVA編碼規(guī)范試題3.doc_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、判斷題(每題2分,共28分)1.為了程序更加簡潔,我們應(yīng)該盡量使用下面的方式來賦值:a=b=1; 錯2.每個類都需要定義構(gòu)建器;錯3.使用ObjectStream的方法后,調(diào)用release(),釋放對象; 錯 調(diào)用reset() ,釋放對象4. 不能用異常來做一般流程處理的方式,不要過多地使用異常,異常的處理效率比條件分支低,而且異常的跳轉(zhuǎn)流程難以預(yù)測。對5、沒有被覆蓋的友好方法 和 沒有子類的友好類應(yīng)該定義成final。對6、簡單的類可以通過名字比較兩個對象的類,推薦使用 getClass()或者instanceof()。錯7、不要調(diào)用 Thread 類的 resume(), suspend(),sleep(), stop() 方法。錯8、判斷方法是否是重載,只關(guān)注方法名、參數(shù)個數(shù)、參數(shù)類型,不關(guān)注方法返回值;對9、類注釋部分,描述部分說明該類或者接口的功能、作用、使用方法和注意事項,每次修改后增加作者、新版本號和當(dāng)天的日期,since 表示從那個版本開始就有這個類或者接口,deprecated 表示不建議使用該類或者接口。對10、對于方法內(nèi)部用throw語句拋出的異常,必須在方法的注釋中標(biāo)明;對于所調(diào)用的其他方法所拋出的異常,在注釋中要求說明所有的異常;對于非RuntimeException,即throws子句聲明會拋出的異常,必須在方法的注釋中標(biāo)明。對11.相對獨立的程序塊之間、變量說明之后必須加行空行; 對12.任何時候都不要使接口可以序列化;對13.減小單個方法的復(fù)雜度,使用的if,while,for,swith語句要在10個以內(nèi); 對14.main()方法的定義是public static void main(String args); 錯二、單選題(每題2分,共36分)1下列錯誤使用異常的做法是(D)A. 在程序中使用異常處理還是使用錯誤返回碼處理,根據(jù)是否有利于程序結(jié)構(gòu)來確定,并且異常和錯誤碼不應(yīng)該混合使用,推薦使用異常。B. 一個方法不應(yīng)拋出太多類型的異常。throws/exception子句標(biāo)明的異常最好不要超過三個。C. 異常捕獲盡量不要直接 catch (Exception ex),應(yīng)該把異常細(xì)分處理。D. 程序內(nèi)拋出的異常本身就可說明異常的類型、拋出條件,可不填寫詳細(xì)的描述信息。捕獲異常后用exception.toString()取到詳細(xì)信息后保存。2下列說法錯誤的是:CA. 段代碼各語句之間有實質(zhì)性關(guān)聯(lián)并且是完成同一件功能的,那么可考慮把此段代碼構(gòu)造成一個新的方法。B. 源程序中關(guān)系較為緊密的代碼應(yīng)盡可能相鄰。C. 程序中可同時使用錯誤碼和異常進(jìn)行處理,推薦使用異常。D. 方法參數(shù)建議不超過5個。3下面對類、方法、屬性的說法不符合編程規(guī)范的有:CA不要覆蓋父類的私有方法。B類中不要使用非私有的非靜態(tài)屬性。C類定義 類的私有屬性定義 類的公有屬性定義 類的保護(hù)屬性定義 類的私有方法定義 類的公有方法定義 類的保護(hù)方法定義D類私有方法的最大規(guī)模建議為15個4下面的程序片斷符合JTest規(guī)范的是(B) Afor(int i = 0; i MAX_INDEX; i+ ) Apple apple = arrayi;B public interface ServiceConst int MAX_BLACK_SIZE = 100; CFor (int i = 0; i 0 ) /.program codeCif ( writeToFile ) writeFileTerrupt();D if ((a = b) & (c d)) /program codeE 在長語句中,如果需要加的空格非常多,那么應(yīng)該保持整體清晰,而在局部不加空格。給操作符留空格時不要連續(xù)留兩個以上空格16下面說法或者語句不符合公司編程規(guī)范的排版要求的是:A逗號、分號只在后面加空格; 比較操作符, 賦值操作符=、 +=,算術(shù)操作符+、%,邏輯操作符&、&,位域操作符、等雙目操作符的前后加空格; !、+、-、&(地址運算符)等單目操作符前后不加空格;Ba *= 2;Cx y&z;D. key-;17有關(guān)各種注釋內(nèi)容,描述錯誤的是:A成員變量注釋內(nèi)容:成員變量的意義、目的、功能,可能被用到的地方。B公有和保護(hù)方法注釋內(nèi)容:列出方法的一句話功能簡述、功能詳細(xì)描述、作者、輸入?yún)?shù)、輸出參數(shù)、返回值、違例等。C類和接口的注釋內(nèi)容:類的注釋主要是一句話功能簡述、功能詳細(xì)描述,可根據(jù)需要列出:版本號、生成日期、作者、內(nèi)容、功能、與其它類的關(guān)系等。 如果一個類存在Bug,請如實說明這些Bug。D文件注釋內(nèi)容有:文件名、版權(quán)說明、描述信息、生成日期、修改歷史。E包的注釋內(nèi)容:簡述本包的作用、詳細(xì)描述本包的內(nèi)容、產(chǎn)品模塊名稱和版本、公司版權(quán)。 18下面說法正確的是:A編寫代碼邊注釋,修改代碼同時修改相應(yīng)的注釋,以保證注釋與代碼的一致性。不再有用的注釋不要刪除,使用deprecated 表示此注釋無效。B避免在注釋中使用縮寫,特別是不常用縮寫;但是,注釋也是可使用縮寫,在使用縮寫時或之前,應(yīng)對縮寫進(jìn)行必要的說明。C在程序塊的結(jié)束行下方加注釋標(biāo)記,以表明某程序塊的結(jié)束。D注釋應(yīng)考慮程序易讀及外觀排版的因素,使用的語言若是中、英兼有的,根據(jù)公司國際化的趨勢,建議多使用英文。三、多選題(每題3分,共36分) 1、下面的程序片斷不符合編碼規(guī)范的有:Aprivate final static int TRUNK_BUSY = 1;private final static int TRUNK_UNKNOWN = -1;public int writeToDatabase() ./ program code if (state = TRUNK_IDLE) state = TRUNK_BUSY; . / program code return 0; else state = TRUNK_UNKNOWN; return -1; B private void initializePool(int count) throws Exception / program code try / program code catch (OutOfMemoryError ex) throw new Error(ex.toString(); Cif (a | b) & (a & c)Drect.length = 10;context.phoneNumber = callData.getPhoneNumber();rect.width = 5; 2、下面描述中符合公司編程規(guī)范的說法有:A不要使用空的for 、if 、while 語句。B在switch 中每個 case 語句都應(yīng)該包含 break 或者 return。C在運算中允許減小數(shù)據(jù)的精度,在賦值過程要進(jìn)行強制轉(zhuǎn)型操作。D switch 語句中的 case 關(guān)鍵字要和后面的常量保持一個空格,switch 語句中不要定義case 之外的無用標(biāo)簽。E盡量顯式初始化所有的靜態(tài)屬性,但是對于int、char等等非Object屬性,都有默認(rèn)值,可以不進(jìn)行初始化。3.對包的命名,下面正確的是:A com.huawei.產(chǎn)品名.模塊名稱B com.huawei.開發(fā)組名稱.項目名稱C com.huawei.部門名稱.模塊名稱D com.huawei.部門名稱.項目名稱4.關(guān)于String和StringBuffer,下面哪些是正確的A 常量字符串使用String,非常量字符串使用StringBufferB 使用StringBuffer的時候設(shè)置初始容量C 盡量使用StringTokenizer代替indexOf()和substring()C 盡量不要使用StringBuffer,StringTokenizer類5、下列使用異常的錯誤的是A程序發(fā)生了致命的錯誤,拋出一個ERROR錯誤通知虛擬機。B程序必須足夠健壯,在有可能拋出ERROR錯誤的地方,將其捕獲處理,以免錯誤擴(kuò)散C運行期異常是程序在運行過程中本身考慮不周導(dǎo)致的異常,程序設(shè)計之初考慮不周是難免的,設(shè)計時應(yīng)該定義RuntimeException的子類表示這種異常。D方法內(nèi)可能拋出的異常必須在方法聲明上加throws子句。6、下面的做法符合公司的編程規(guī)范要求的有:A明確方法功能,精確或近似地實現(xiàn)方法設(shè)計。一個函數(shù)僅完成一件功能,即使簡單功能也應(yīng)該編寫方法實現(xiàn)。B應(yīng)明確規(guī)定對接口方法參數(shù)的合法性檢查應(yīng)由接口方法本身負(fù)責(zé)還是由方法的調(diào)用者負(fù)責(zé),缺省是由后者負(fù)責(zé)。C注釋的原則是有助于對程序的閱讀理解,如果一個類存在Bug,要如實說明這些Bug。D父類如果實現(xiàn)了比較合理的toString() ,子類可以繼承不必再重寫toString()。E數(shù)據(jù)庫操作、IO操作等需要使用結(jié)束close()的對象必須在try -catch-finally 的finally中close()。7、下列程序片斷符合編碼規(guī)則的有:A try / .程序 catch( NullPointException ex) Log.doLog(ex.getMessage(); B public void subscribe(int id) / program code System.out.println(Result: + id + subscribe succeed) / program code C public void subscribe(int id) / program code LogM(Result: + id + subscribe is succeed) D try/. .catch (ServiceException ioe) LogManager.warn(ioe);8下面哪些符合公司的編程規(guī)范的注釋要求的有:A文件注釋:/* * 文件名:LogManager.java* 描述: WIN V200R002 WEBSMAP 通用日志系統(tǒng) * 修改人: 張三 * 修改時間:2001-02-16 * 修改內(nèi)容:新增*/B類注釋:/* * LogManager 類集中控制對日志讀寫的操作。 * 全部為靜態(tài)變量和靜態(tài)方法,對外提供統(tǒng)一接口。分配對應(yīng)日志類型的讀寫器, * 讀取或?qū)懭敕蠗l件的日志紀(jì)錄。 * author 張三,李四,王五 * version 1.2, 2001-03-25 * see LogIteraotor * see BasicLog * since CommonLog1.0 */Cpublic class KeyManager private int key = 0; /key屬性記錄關(guān)鍵事件ID /* * 設(shè)置關(guān)鍵事件ID * 函數(shù)功能:呼叫過程,設(shè)置(記錄)關(guān)鍵事件的ID * param key|int 呼叫過程的關(guān)鍵事件ID * return void 返回空 */ public void setKey( int key ) this.key = key; D /* * 根據(jù)日志類型和時間讀取日志。 * 分配對應(yīng)日志類型的LogReader,反復(fù)器緩沖數(shù), * 讀取日志記錄。查詢條件為null或0的表示沒限制,* 反復(fù)器緩沖數(shù)為0讀不到日志。 * param logTypeName 日志類型名(在配置文件中定義的) * param startTime 查詢?nèi)罩镜拈_始時間 * param bufferNum 日志反復(fù)器緩沖記錄數(shù) * return 結(jié)果集,日志反復(fù)器 * since CommonLog1.0 */public static LogIterator read(String logType, Date startTime, int bufferNum) throws Exception if (null = logType ) /如果日志類型沒有設(shè)置,拋出“日志類型為空”異常 throw new LogTypeException(Log Type is null!); ./program code Epublic void example( ) / 注釋 CodeBlock One / 注釋 CodeBlock Two9下面說法正確的是A 沒有子類的友好類應(yīng)該定義成finalB 沒有被覆蓋在友好方法應(yīng)該定義成finalC 不定義在包中沒有被用到的友好屬性、方法和類D 不要定義不會被用到的局部變量、類私有屬性、類私有方法和方法參數(shù)10下面說法正確的有:A對于方法內(nèi)部用throw語句拋出的異常,必須在拋出異常的語句上一行注釋標(biāo)明拋出異常的含義、拋出條件等。B通過對函數(shù)或過程、變量、結(jié)構(gòu)等正確的命名以及合理地組織代碼的結(jié)構(gòu),使代碼成為自注釋的。對保護(hù)方法以清晰準(zhǔn)確的函數(shù)命名,可增加代碼可讀性,并減少不必要的注釋,甚至可以不注釋。C異常的注釋必須說明該異常的含義及什么條件下拋出該異常。D當(dāng)代碼段較長,特別是多重嵌套時,在程序塊的結(jié)束行右方加注釋標(biāo)記,以表明某程序塊的結(jié)束,這樣做可以使代碼更清晰,更便于閱讀。E調(diào)試程序的時候可以方便的使用 /* 。*/ 注釋掉一長段程序。11下面程序片斷不符合公司命名規(guī)范的有:Apubli

溫馨提示

  • 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

提交評論