版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、竭誠為您提供優(yōu)質(zhì)文檔 /雙擊可除第 1 頁共 22 頁java 編程規(guī)范第三版篇一:java 編程的標(biāo)準(zhǔn)之 jaVa 編程規(guī)范java 編程的標(biāo)準(zhǔn)之 jaVa 編程規(guī)范簡介本文提供一整套編寫高效可靠的java 代碼的標(biāo)準(zhǔn)、約定和指南。它們以安全可靠的軟件工程原則為基礎(chǔ),使代碼 易于理解、維護(hù)和增強(qiáng)。而且,通過遵循這些程序設(shè)計(jì)標(biāo)準(zhǔn), 你作為一個(gè) java 軟件開發(fā)者的生產(chǎn)效率會有顯著提高。經(jīng) 驗(yàn)證明,若從一開始就花時(shí)間編寫高質(zhì)量的代碼,則在軟件 開發(fā)階段,對代碼的修改要容易很多。最后,遵循一套通用 的程序設(shè)計(jì)標(biāo)準(zhǔn)將帶來更大的一致性,使軟件開發(fā)團(tuán)隊(duì)的效 率明顯提高。最根本的原則:運(yùn)用常識。當(dāng)找不到
2、任何規(guī)則或指導(dǎo)方針,當(dāng)規(guī)則明顯 不能適用,當(dāng)所有的方法都失效的時(shí)侯:運(yùn)用常識并核實(shí)這 些基本原則。這條規(guī)則比其它所有規(guī)則都重要。常識是必不 可少的。程序設(shè)計(jì)標(biāo)準(zhǔn)java 的程序設(shè)計(jì)標(biāo)準(zhǔn)很重要,原因在于它將提高開發(fā)團(tuán)隊(duì)各成員的代碼的一致性。一致性的提高會使代碼更易理解, 這意味著它更易開發(fā)和維護(hù)。從而降低了應(yīng)用程序的總開發(fā) 成本。你必須牢記的是:你的 java 代碼在你已離開并開始另 一個(gè)項(xiàng)目之后,會保留相當(dāng)長的一端時(shí)間。因此開發(fā)過程中 一個(gè)很重要的目標(biāo)就是要確保在開發(fā)成員或開發(fā)團(tuán)隊(duì)之間 的工作可以順利交接,不必花很大的力氣便能理解已編寫的代碼,以便繼續(xù)維護(hù)和改進(jìn)以前的工作。如果代碼難以理解,很
3、有可能被廢棄和重寫。命名約定我們將在整個(gè)標(biāo)準(zhǔn)中討論命名約定,所以讓我們先討論幾個(gè)基本點(diǎn):1. 使用可以準(zhǔn)確說明變量/字段/類的完整的英文描述符。例如,采用類似 firstname ,grandtotal 或 corporatecustomer 這樣的名字。雖然象 x1,y1 或 fn 這樣的名字很簡短,輸入起來容易,但是我們難以知道它們代表什么、結(jié)果是什么含義,因而使代碼 難以理解、維護(hù)和改進(jìn)。2. 采用該領(lǐng)域的術(shù)語。如果用戶稱他們的“客戶”第 2 頁共 22 頁(clients)為“顧客”(customers),那么就采用術(shù)語 customer 來命名這個(gè)類,而不用client 。許多程序開
4、發(fā)者會犯的一個(gè)錯誤是,不去使用工業(yè)或領(lǐng)域里已經(jīng)存在著很完美的術(shù)語時(shí),卻生造出一些普通詞匯。3. 采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用小寫字母,但是類和接口的名字的首字母,以及任何中間單詞的首字母應(yīng)該大寫。4. 盡量少用縮寫,但如果一定要使用,就要謹(jǐn)慎地使用。這意味著應(yīng)該保留一個(gè)標(biāo)準(zhǔn)縮寫的列表,明智地從中選取,并且在使用時(shí)保持一致。例如,想對單詞“number”采用縮寫,那么可從 nbr,no 或者 num中選取一個(gè),說明一下采用了哪一個(gè)(具體是哪個(gè)倒無所謂),并且只使用這一種形式。5. 避免使用長名字(最好不超過15 個(gè)字母)。雖然physicalorVirtualproductor
5、service看起來似乎是個(gè)不錯的類名,第 3 頁共 22 頁 但是這個(gè)名字太長了,應(yīng)該考慮重新給它起個(gè)短一點(diǎn)的名字,比如象 offering 。6. 避免使用相似或者僅在大小寫上有區(qū)別的名字。例如,不應(yīng)同時(shí)使用變量名 persistentobject 和 persistentobjects ,以及 ansqldatabase 和ansqldatabase。7. 避免使用下劃線作為名字的首末字母。以下劃線為首末字母的名字通常為系統(tǒng)保留,除預(yù)處理定義之外,一般不用作用戶命名。更重要的是,下劃線經(jīng)常造成麻煩而且難輸入,所以盡量避免使用。注釋約定我們還會對注釋約定進(jìn)行討論,所以,我們先談?wù)勔恍┗军c(diǎn)
6、:1.注釋應(yīng)該增加代碼的清晰度。代碼注釋的目的是要使代碼更易于被同時(shí)參與程序設(shè)計(jì)的開發(fā)人員以及其他后繼開發(fā)人員理解。2.如果你的程序不值得注釋,那么它也很可能也不值得運(yùn)行nag95。第 4 頁共 22 頁3.避免使用裝飾性內(nèi)容,也就是說,不要使用象廣告橫幅那樣的注釋語句。二十世紀(jì)六十年代和七十年代,cobol 程序員們養(yǎng)成了畫框的習(xí)慣,典型的是用星號將他們的內(nèi)部注釋圈起來。當(dāng)然,這給他們的藝術(shù)創(chuàng)造欲一個(gè)發(fā)泄方式,但是坦白地說,這只是在大量浪費(fèi)時(shí)間,并不能給最終的產(chǎn)品增加絲毫價(jià)值。要寫的是清晰的代碼,不是外表可愛的代碼。此外,由于有些字體的顯示和打印是成比例的,但有些又不是,所以無法將那些框排整
7、齊。4.保持注釋的簡潔。最好的注釋應(yīng)該是簡單明了的注釋。注釋不必洋洋灑灑,只需提供足夠的信息,使別人能夠理解你的代碼。5.先寫注釋,后寫代碼。寫代碼注釋的最好方法是在寫代碼之前就寫注釋。這使你在寫代碼之前可以想想代碼的功能和運(yùn)行。而且這樣確保不會遺漏注釋。另一種方法是邊寫代碼邊寫注釋。因?yàn)樽⑨尶梢缘?5 頁共 22 頁使代碼更易理解,所以在程序開發(fā)的過程中,也可以利 用這一點(diǎn)。如果打算花些時(shí)間寫注釋,那么至少你應(yīng)從這個(gè)過程中 獲得些什么amb98。6.注釋信息不僅要包括代碼的功能,還應(yīng)給出原因。例如,下面例 1 中的代碼顯示金額在$1,000 以上(包括$1,000)的定單可給予 5%的折扣。
8、為什么要這樣做呢?難道有一個(gè)商業(yè)法則規(guī)定 大額定單可以得到折扣嗎?這種給大額定單的特殊是有時(shí)限的呢,還是一直都這樣?最初的程序設(shè)計(jì)者是否只是由于慷慨大度才這樣做呢?除非它們在某個(gè)地方(或者是在源代碼本身,或者是在一個(gè) 外部文檔里)被注釋出來,否則你不可能知道這些。例 1.1if(grandtotal=1000.00)grandtotal=grandtotal*0.95;第 6 頁共 22 頁java 注釋語句類型java 有三種注釋語句風(fēng)格:以/*開始,*/結(jié)束的文檔注釋,以/*開始,以*/結(jié)束的 c 語言風(fēng)格注釋,以及以/開始,代碼行末尾結(jié)束的單行注釋。下表是對各類注釋語句建議用法的一個(gè)概括
9、,也給出了幾個(gè)例子。一件很重要的事情是,你的機(jī)構(gòu)應(yīng)該制訂一套如何使用 c 語言風(fēng)格注釋和單行注釋的標(biāo)準(zhǔn),并始終嚴(yán)格遵守。使用一種注釋方式來說明業(yè)務(wù)邏輯,使用另一種方式注釋掉舊的代碼。業(yè)務(wù)邏輯采用單行注釋,因?yàn)檫@樣可以將注釋和代碼放在同一行(這又叫做“內(nèi)聯(lián)”。采用 c 語言風(fēng)格的注釋屏蔽掉舊的代碼,因?yàn)檫@樣可以同時(shí)注釋掉數(shù)行。c 語言風(fēng)格注釋看起來很象文檔注釋,所以為了防止混淆,不應(yīng)在別處使 用。注意行末注釋。mco93強(qiáng)烈反對采用行內(nèi)注釋,即在一行的末尾加上注釋。他指出,這種注釋必須在代碼的右端對齊,這樣才能避免代碼結(jié)構(gòu)看起來混亂。結(jié)果,這些注釋的格式難以劃一?!叭绻闶褂昧撕芏噙@樣的注釋,貝
10、 U 要花時(shí)間去將它們排列整齊。這些時(shí)間并沒有花在更多地了解代碼上,而完全花在了敲第 7 頁共 22 頁第8頁共 22 頁擊空格鍵和制表符這種冗長乏味的工作上?!彼种赋?,行末注釋也難以維護(hù)。因?yàn)楫?dāng)該行程序的代碼加 長時(shí),它們會將這些注釋擠出該行,如果你將它們排 齊了,你不得不對余下的注釋做同樣的工作??焖贋g覽 javadocsun 公司的 javadevelopmentkit(jdk)中有一個(gè)名為 javadoc 的程序。它可以處理 java 的源代碼 文件,并且為 java 程序產(chǎn)生 html 文件形式的外部 注釋文檔。javadoc 支持一定數(shù)目的標(biāo)記,標(biāo)識注釋 文檔中各段起始位置的保留
11、字。詳情請參考 jdkjavadoc 文檔。你注釋代碼的方式很大地影響著你的工作效率以及所 有維護(hù)改進(jìn)代碼的后繼開發(fā)者的工作效率。在軟件開發(fā)過程 中及早注釋代碼,會促使你在開始撰寫代碼之前仔細(xì)考慮這 些代碼,從而帶來更高的工作效率。而且,當(dāng)你重新閱讀數(shù) 天前或者數(shù)星期前所寫的代碼時(shí),你可以很容易地判斷出當(dāng) 時(shí)你是怎么想的,因?yàn)檫@一切都有記錄。篇二:java 編程規(guī)范_參考java 編碼規(guī)范制定本編程格式的目的是為了使軟件可讀性好、兼容性 好、易維護(hù)等等。注:加(*)者為重要保證要求。、命名規(guī)范第9頁共 22 頁I.lpackage 的命名(*)package 的名字應(yīng)由一個(gè)小寫單詞組成。為了保
12、證包的唯一性,一般以公司國際域名開頭。 例如:com.elanbase.db1.2class 的命名(*)class 的名字必須由大寫字母開頭,并且其它單詞的首 寫字母也要大寫。例如:dbaccess。1.3class 成員屬性及變量的命名(*)變量/成員屬性的名字用一個(gè)小寫字母開頭,后面的單 詞以大寫字母開頭。例如:privatestringlastname;1.4 常量的命名(*)java 里的常量,是用 staticfinal修飾的,應(yīng)該用全大寫加下劃線命名,并且常量名應(yīng)盡量指出完整含義。如:publicstaticfinalstringoRacle_db_dRiVeR=oracle.j
13、dbc.driver.oracledriver;1.5 數(shù)組的命名數(shù)組應(yīng)該總是用下面的形式來命名:bytebuffs;而不是:bytebuffs;1.6 方法的參數(shù)第10頁共 22 頁和變量的命名規(guī)范一致,且應(yīng)使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的屬性一樣的名字,如:setcounter(intsize)this.size=size;1.7 方法命名(*)用一個(gè)小寫字母開頭,后面的單詞以大寫字母開頭。應(yīng)意義明確,對于屬性的存取方法,應(yīng)使用 getxxx()和 setxxx()名稱,以 isxxx() , hasxxx()來命名返回值為 boolean 類型的方法。1.8 一般命名注意事項(xiàng)a. 用有意義的名字命名變量首先,用完整的英語單詞或約定俗成的簡寫命名變量,鼓勵多用約定俗成的簡寫命名變量。例如:publicstringzipcodepublicinterrnob. 用復(fù)數(shù)命名 collection 類變量collection,包括數(shù)組,Vector 等。命名時(shí)使用復(fù)數(shù):例如:publi
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 正規(guī)足浴加盟合同協(xié)議
- 工業(yè)自動化材料采購合同
- 地毯物流配送合同
- 全面升級旅游服務(wù)合同模板
- 石灰石購銷合同格式
- 學(xué)生個(gè)人衛(wèi)生保證書
- 電力設(shè)備招標(biāo)文件示范文本
- 補(bǔ)充協(xié)議勞工合同細(xì)節(jié)
- 專業(yè)電腦維護(hù)保養(yǎng)
- 抹灰分包工程勞務(wù)合同
- Camtasia_Studio使用教程
- 業(yè)務(wù)員手冊內(nèi)容
- 計(jì)劃分配率和實(shí)際分配率_CN
- 《紅燈停綠燈行》ppt課件
- 小學(xué)語文作文技巧六年級寫人文章寫作指導(dǎo)(課堂PPT)
- 《APQP培訓(xùn)資料》
- PWM脈寬直流調(diào)速系統(tǒng)設(shè)計(jì)及 matlab仿真驗(yàn)證
- 家具銷售合同,家居訂購訂貨協(xié)議A4標(biāo)準(zhǔn)版(精編版)
- 食品加工與保藏課件
- 有功、無功控制系統(tǒng)(AGCAVC)技術(shù)規(guī)范書
- 儲罐施工計(jì)劃
評論
0/150
提交評論