溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

java代碼規(guī)范的作用是什么

發(fā)布時(shí)間:2021-06-24 15:10:06 來(lái)源:億速云 閱讀:473 作者:Leah 欄目:編程語(yǔ)言

java代碼規(guī)范的作用是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

代碼規(guī)范有什么意義
1.一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù),代碼規(guī)范降低了金錢(qián)成本和時(shí)間成本;
2.幾乎沒(méi)有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開(kāi)發(fā)人員來(lái)維護(hù),代碼規(guī)
范減少了工作交接過(guò)程中的交流成本。
3.規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的設(shè)計(jì)和代碼,節(jié)約
了時(shí)間,提高了工作效率。
4.良好的編碼規(guī)范可以有效避免一些低級(jí)錯(cuò)誤,贏得同事的夸獎(jiǎng)和上司的認(rèn)可。個(gè)人經(jīng)歷
我在前段時(shí)間由于一級(jí)考試任務(wù)比較繁多,所以卓腦這邊的項(xiàng)目需要交接一下,然后我就簡(jiǎn)單的跟她們溝通一下我負(fù)責(zé)的模塊,之后她們找過(guò)我?guī)状?,因?yàn)榈拇a有好多沒(méi)寫(xiě)注釋?zhuān)瑢?dǎo)致她們沒(méi)有看懂。MT4實(shí)際操作http://www.gendan5.com/operation.html所以如果我能把每行代碼都寫(xiě)上注釋?zhuān)茏龅酱a規(guī)范,將會(huì)減少交接過(guò)程中的交流成本,還能節(jié)省出更多時(shí)間,學(xué)習(xí)其它的內(nèi)容。
命名規(guī)范
1.名字應(yīng)該能夠標(biāo)識(shí)事物的特性,并且與業(yè)務(wù)掛鉤。
2.名字一律使用英文單詞,而不能為拼音。
3.名字可以有兩個(gè)或三個(gè)單詞組成,但不應(yīng)多于4個(gè),控制在3至30個(gè)字母以?xún)?nèi)。
4.在名字中,多個(gè)單詞用大寫(xiě)第一個(gè)字母(其它字母小寫(xiě))來(lái)分隔。例如:IsSuperUser。
5.命名避免和以下關(guān)鍵字沖突
如:Base,Date,Class……
6.方法名、參數(shù)名統(tǒng)一使用駝峰命名法(Camel命名法),除首字母外,其他單詞的首字
母大寫(xiě),其他字母小寫(xiě),類(lèi)名每個(gè)組合的單詞都要大寫(xiě);
正例:localValue/getHttpMessage()/inputUserId注釋規(guī)范
1.一般情況下,源程序的有效注釋量必須在30%以上。
2.避免使用裝飾性?xún)?nèi)容,保持注釋的簡(jiǎn)潔。
3.注釋信息不僅要包括代碼的功能,還應(yīng)給出原因,不要為注釋而注釋。
4.除變量定義等較短語(yǔ)句的注釋可用行尾注釋外,其他注釋當(dāng)避免使用行尾注釋。
5.注釋類(lèi)型:javadoc注釋?zhuān)Тa注釋(eclipse下ctrl+shift+/),代碼細(xì)節(jié)注釋//。
6.對(duì)類(lèi)、方法、變量等的注釋需要符合JavaDoc規(guī)范,對(duì)每個(gè)類(lèi)、方法都應(yīng)詳細(xì)說(shuō)明其
功能、條件、參數(shù)等,并使用良好的HTML標(biāo)記
7.格式化注釋?zhuān)允股傻腏avaDoc易閱讀和理解。
8.如果注釋太復(fù)雜說(shuō)明程序需要修改調(diào)整,使設(shè)計(jì)更加合理。
9.getter、setter方法不用注釋
10.注釋不能嵌套
11.生成開(kāi)發(fā)文檔的需要用中文編寫(xiě)
12.如果需要注釋的內(nèi)容太多,需附加文檔進(jìn)行說(shuō)明,注釋時(shí)加上"參見(jiàn)《****》"
13.距離較遠(yuǎn)的}必須注釋
14.復(fù)雜的分支流程必須注釋
15.代碼質(zhì)量不高但能正常運(yùn)行,或者還沒(méi)有實(shí)現(xiàn)的代碼用//TODO:聲明
16.存在錯(cuò)誤隱患的代碼用//FIXME:聲明語(yǔ)句規(guī)則
原則:1.統(tǒng)一使用Eclipse格式化工具進(jìn)行格式化,默認(rèn)快捷鍵:Ctrl+Shift+F
2.盡量避免強(qiáng)制類(lèi)型轉(zhuǎn)換。如果不得不做類(lèi)型轉(zhuǎn)換,盡量用顯式方式。
3.Ifelse中的業(yè)務(wù)代碼行數(shù)太長(zhǎng),否則就要考慮用函數(shù)封裝
4.避免在表達(dá)式中用賦值語(yǔ)句
5.避免對(duì)浮點(diǎn)類(lèi)型做等于或不等于判斷
6.杜絕魔法數(shù)字,for循環(huán)的最大數(shù)等也要用變量代替,以便知道是什么含義
7.對(duì)象比較運(yùn)算,常量放在前面,比如"aaa".equals(str)
8.Boolean的"假"判斷格式:if(false==isMax)而不用if(!isMax),因?yàn)榉欠?hào)"!"不
清晰
9.如果一段帶有業(yè)務(wù)邏輯的代碼超過(guò)兩次用到,就將其封裝成一個(gè)方法
10.單個(gè)循環(huán)也要用{}
11.每個(gè)變量?jī)H有一個(gè)唯一的用途
12.單個(gè)函數(shù)執(zhí)行單個(gè)功能并與其命名相符
13.消除所有編譯器警告
14.常數(shù)變量聲明為final
15.每個(gè)if-elseif-else語(yǔ)句都有最后一個(gè)else以確保處理了全集
16.對(duì)于流操作代碼的異常捕獲有finally操作以關(guān)閉流對(duì)象,比如:17.對(duì)同步對(duì)象的遍歷訪問(wèn)必須進(jìn)行代碼同步處理
18.在對(duì)Map對(duì)象使用迭代遍歷過(guò)程中保證沒(méi)有做增減元素操作
19.Ifelse判斷語(yǔ)句避免頭重腳輕,比如if的代碼段過(guò)大,else的代碼很短,這時(shí)候要調(diào)
整結(jié)構(gòu)。
20.每一行最多包含一條語(yǔ)句。循環(huán)語(yǔ)句:
1.務(wù)必檢查,杜絕死循環(huán)
2.即使循環(huán)體只有一條語(yǔ)句,也要用花括號(hào)括起
3.盡量不用空語(yǔ)句,特殊情況用到空語(yǔ)句,寫(xiě)好注釋?zhuān)嬖V讀者這不是bug
4.循環(huán)中禁止使用訪問(wèn)數(shù)據(jù)庫(kù)的操作,循環(huán)內(nèi)部如果需與數(shù)據(jù)庫(kù)交互,而應(yīng)提前一次性
讀取出。
比如:Switch-case
1.語(yǔ)句switch中的每個(gè)case各占一行。
2.所有的非空case語(yǔ)句必須用break;語(yǔ)句結(jié)束。例:3.語(yǔ)句switch中的case按字母順序排列。
4.為所有switch語(yǔ)句提供default分支。編碼風(fēng)格規(guī)則
編碼過(guò)程中需遵循以下風(fēng)格習(xí)慣:
1.代碼未寫(xiě),文檔先行,注釋必須按照固定統(tǒng)一范式撰寫(xiě)。
2.關(guān)系運(yùn)算必須常量在左、變量在右。
3.不許使用復(fù)雜的運(yùn)算表達(dá)式,必要時(shí)添加括號(hào)而不依賴(lài)于優(yōu)先級(jí)。
4.局部變量必須初定義、避免不必要的內(nèi)存操作、內(nèi)存操作必須考慮異常處理。

關(guān)于java代碼規(guī)范的作用是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI