编码 括号_Java编码规范整理汇总
來(lái)源:博學(xué)谷 作者:照照
在Java的入門(mén)過(guò)程中,我們首先要養(yǎng)成一個(gè)良好的編寫(xiě)代碼習(xí)慣。那么,了解清楚Java的編碼規(guī)范就顯得尤為必要了。編碼格式不僅僅是美不美觀的問(wèn)題。這里我們可以試想一下,如果在Java開(kāi)發(fā)中編碼不規(guī)范,容易出現(xiàn)bug不說(shuō),而且后續(xù)還難以維護(hù)。因此,遵守編碼規(guī)范可以讓代碼的風(fēng)格好像是一個(gè)人寫(xiě)出來(lái)的,即使是有很多人參與這個(gè)開(kāi)發(fā)項(xiàng)目。 1、源文件基礎(chǔ) 源文件以其最頂層的類(lèi)名來(lái)命名,大小寫(xiě)敏感,文件擴(kuò)展名為 .java。源文件編碼格式為UTF-8。除了行結(jié)束符序列,ASCII水平空格字符(0x20,即空格)是源文件中唯一允許出現(xiàn)的空白字符,這意味著所有其它字符串中的空白字符都要進(jìn)行轉(zhuǎn)義;制表符不用于縮進(jìn)。對(duì)于具有特殊轉(zhuǎn)義序列的任何字符(b, , , f, , ", '及),我們使用它的轉(zhuǎn)義序列,而不是相應(yīng)的八進(jìn)制(比如 012)或Unicode(比如 )轉(zhuǎn)義。對(duì)于剩余的非ASCII字符,是使用實(shí)際的Unicode字符(比如∞),還是使用等價(jià)的Unicode轉(zhuǎn)義符(比如∞),取決于哪個(gè)能讓代碼更易于閱讀和理解。 2、源文件結(jié)構(gòu) 一個(gè)源文件包含(按順序地):許可證或版權(quán)信息;package語(yǔ)句;import語(yǔ)句;一個(gè)頂級(jí)類(lèi)。以上每個(gè)部分之間用一個(gè)空行隔開(kāi)。如果一個(gè)文件包含許可證或版權(quán)信息,那么它應(yīng)當(dāng)被放在文件最前面。package語(yǔ)句不換行,列限制(4.4節(jié))并不適用于package語(yǔ)句。import不要使用通配符,不要換行。 3、格式 大括號(hào)與 if,else,for,do,while語(yǔ)句一起使用,即使只有一條語(yǔ)句(或是空),也應(yīng)該把大括號(hào)寫(xiě)上。對(duì)于非空塊和塊狀結(jié)構(gòu),大括號(hào)遵循Kernighan和Ritchie風(fēng)格,左大括號(hào)前不換行;左大括號(hào)后換行;右大括號(hào)前換行;如果右大括號(hào)是一個(gè)語(yǔ)句、函數(shù)體或類(lèi)的終止,則右大括號(hào)后換行; 否則不換行。例如,如果右大括號(hào)后面是else或逗號(hào),則不換行。一個(gè)空的塊狀結(jié)構(gòu)里什么也不包含,大括號(hào)可以簡(jiǎn)潔地寫(xiě)成 {},不需要換行。例外:如果它是一個(gè)多塊語(yǔ)句的一部分(if/else 或 try/catch/finally) ,即使大括號(hào)內(nèi)沒(méi)內(nèi)容,右大括號(hào)也要換行。每當(dāng)開(kāi)始一個(gè)新的塊,縮進(jìn)增加2個(gè)空格,當(dāng)塊結(jié)束時(shí),縮進(jìn)返回先前的縮進(jìn)級(jí)別??s進(jìn)級(jí)別適用于代碼和注釋。 4、空白 以下情況需要使用一個(gè)空行:類(lèi)內(nèi)連續(xù)的成員之間:字段,構(gòu)造函數(shù),方法,嵌套類(lèi),靜態(tài)初始化塊,實(shí)例初始化塊;在函數(shù)體內(nèi),語(yǔ)句的邏輯分組間使用空行;類(lèi)內(nèi)的第一個(gè)成員前或最后一個(gè)成員后的空行是可選;要滿足本文檔中其他節(jié)的空行要求。除了語(yǔ)言需求和其它規(guī)則,并且除了文字,注釋和Javadoc用到單個(gè)空格,單個(gè)ASCII空格也出現(xiàn)在以下幾個(gè)地方:分隔任何保留字與緊隨其后的左括號(hào)( ()(如 if,forcatch等);分隔任何保留字與其前面的右大括號(hào)( })(如 else,catch)等等。 5、命名約定 對(duì)所有標(biāo)識(shí)符都通用的規(guī)則,標(biāo)識(shí)符只能使用ASCII字母和數(shù)字,因此每個(gè)有效的標(biāo)識(shí)符名稱(chēng)都能匹配正則表達(dá)式 w+。類(lèi)名都以 UpperCamelCase風(fēng)格編寫(xiě),方法名都以 lowerCamelCase風(fēng)格編寫(xiě);常量名命名模式為 CONSTANT_CASE,全部字母大寫(xiě),用下劃線分隔單詞;非常量字段名以 lowerCamelCase風(fēng)格編寫(xiě);參數(shù)名以 lowerCamelCase風(fēng)格編寫(xiě);比起其它類(lèi)型的名稱(chēng),局部變量名可以有更為寬松的縮寫(xiě)。、 6、編程實(shí)踐 只要是合法的,就把 @Override注解給用上。使用類(lèi)名調(diào)用靜態(tài)的類(lèi)成員,而不是具體某個(gè)對(duì)象或表達(dá)式。極少會(huì)去重寫(xiě) Object.finalize。 上面我們談?wù)摰腏ava編碼規(guī)范,可以把它看做是一種需要盡量去做的標(biāo)準(zhǔn)守則,而不是強(qiáng)制的命令要求。最后,希望大家都能寫(xiě)出優(yōu)美動(dòng)人,而有準(zhǔn)確的編碼。
總結(jié)
以上是生活随笔為你收集整理的编码 括号_Java编码规范整理汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 后台数据联调的接口工具 postman和
- 下一篇: java台球游戏设计原理_Java实现简