溫馨提示×

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

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

JAVA代碼書寫規(guī)范匯總詳解

發(fā)布時(shí)間:2020-10-07 19:57:12 來源:腳本之家 閱讀:128 作者:coderstory 欄目:編程語言

一般原則

  1. 盡量使用完整的英文描述符
  2. 采用適用于相關(guān)領(lǐng)域的術(shù)語
  3. 采用大小寫混合增強(qiáng)可讀性
  4. 盡量少用縮寫,但如果用了,要明智地使用,且在整個(gè)工程中統(tǒng)一
  5. 避免使用長(zhǎng)的名字
  6. 避免使用類似的名字,或者僅僅是大小寫不同的名字
  7. 避免使用下劃線(除靜態(tài)常量等)

命名的字母大小寫問題

  1. 包名: 字母全小寫 例如: cn.coderstory.Activity.Main
  2. 類,接口 :首字母大寫,其他全小寫 例如: class Container
  3. 方法,變量 :第二個(gè)單詞開始首字母大寫 例如: seedMessage
  4. 常量: 大寫,單詞用“_”分割 例如: final static MIN_WIDTH = 4
  5. 接口 :首字母大寫 ,后綴Impl 例如: class ContainerImpl
  6. 異常類: 首字母大寫, 后綴Exception 例如: DataNotFoundException
  7. 抽象類 :首字母大寫, 前綴Abstract 例如: AbstractBeanDefinition
  8. Test類: 首字母大寫, 后綴Test 例如: public Location newLocation()

方法的命名

  1. 類中獲取值方法,一般要求被方法名使用被訪問字段名,前面加上前綴get,如getLastUser(), getUserCount()
  2. 返回布爾型的判斷方法一般要求方法名使用單詞 is 做前綴,如isPersistent(),isString()?;蛘呤褂镁哂羞壿嬕饬x的單詞,例如equal 或equals
  3. 用于修改某些設(shè)置的方法(一般返回類型為void):被訪問字段名的前面加上前綴 set,如setFirstName(),setLastName(),setWarpSpeed()。
  4. 已辦的方法一般采用完整的英文描述說明成員方法功能,第一個(gè)單詞盡可能采用一個(gè)生動(dòng)的動(dòng)詞,第一個(gè)字母小寫,如 openFile(), addAccount()。
  5. 接口 :首字母大寫 ,后綴Impl 例如: class ContainerImpl
  6. 異常類: 首字母大寫, 后綴Exception 例如: DataNotFoundException
  7. 抽象類 :首字母大寫, 前綴Abstract 例如: AbstractBeanDefinition
  8. Test類: 首字母大寫, 后綴Test 例如: public Location newLocation()

Java注釋約定

  • 類的整體注釋:遵循JavaDoc的規(guī)范,在每一個(gè)源文件的開頭注明該CLASS的作用, 作簡(jiǎn)要說明, 并寫上源文件的作者, 編寫日期。如果是修改別人編寫的源文件,要在修改信息上注明修改者和修改日期。

例如:

/**
* @(#):CLASSNAME.java
* @description: Description of this java
* @author: PROGRAMMER'S NAME YYYY/MM/DD
* @version: Version No.
* @modify:
* @Copyright: 版權(quán)由擁有
*/
  • 類中方法的注釋:遵循JavaDoc的規(guī)范,在每個(gè)方法的前部用塊注釋的方法描述此方法的作用,以及傳入,傳出參數(shù)的類型和作用,以及需要捕獲的錯(cuò)誤。

例如:

/**
* 方法的描述
*
*
*@param 參數(shù)的描述
*@return 返回類型的描述
*@exception 出錯(cuò)信息的描述
*/
  • 行注釋:使用//…的注釋方法來注釋需要表明的內(nèi)容。并且把注釋的內(nèi)容放在需要注釋的代碼的前面一行或同一行。
  • 塊注釋:使用/**和*/注釋的方法來注釋需要表明的內(nèi)容。并且把注釋的內(nèi)容放在需要注釋的代碼的前面。
  • 注釋哪些部分:類的目的(即類所完成的功能)、設(shè)置接口的目的以及應(yīng)如何被使用、成員方法注釋(對(duì)于設(shè)置與獲取成員方法,在成員變量已有說明的情況下,可以不加注釋;普通成員方法要求說明完成什么功能,參數(shù)含義是什么?返回什么?)、普通成員方法內(nèi)部注釋(控制結(jié)構(gòu)、代碼做了些什么以及為什么這樣做,處理順序等)、實(shí)參和形參的含義以及其他任何約束或前提條件、字段或?qū)傩悦枋?。而?duì)于局部變量,如無特別意義的情況下不加注釋。

JAVA文件聲明順序

類或接口應(yīng)該按以下順序聲明(其實(shí)是加載順序的問題):

  1. 包的定義
  2. impot類(輸入包的順序、避免使用*)輸入包應(yīng)該按照java.*.*,javax.*.*,org.*.* ,com.*.*的順序import在import的時(shí)候不應(yīng)該使用* (例如: java.util.*)
  3. 類或接口的定義
  4. 靜態(tài)變量定義,按public,protected,private順序
  5. 實(shí)例變量定義,按public,protected,private順序
  6. 構(gòu)造方法
  7. 方法定義順序按照public方法(類自己的方法),實(shí)現(xiàn)接口的方法,重載的public法,受保護(hù)方法,包作用域方法和私有方法。建議:類中每個(gè)方法的代碼行數(shù)不要超過100行。
  8. 內(nèi)部類的定義

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(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