JAVA代碼書寫規(guī)范匯總詳解
更新時(shí)間:2019年07月16日 10:41:00 作者:coderstory
這篇文章主要介紹了JAVA代碼書寫規(guī)范匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一般原則
- 盡量使用完整的英文描述符
- 采用適用于相關(guān)領(lǐng)域的術(shù)語
- 采用大小寫混合增強(qiáng)可讀性
- 盡量少用縮寫,但如果用了,要明智地使用,且在整個(gè)工程中統(tǒng)一
- 避免使用長(zhǎng)的名字
- 避免使用類似的名字,或者僅僅是大小寫不同的名字
- 避免使用下劃線(除靜態(tài)常量等)
命名的字母大小寫問題
- 包名: 字母全小寫 例如: cn.coderstory.Activity.Main
- 類,接口 :首字母大寫,其他全小寫 例如: class Container
- 方法,變量 :第二個(gè)單詞開始首字母大寫 例如: seedMessage
- 常量: 大寫,單詞用“_”分割 例如: final static MIN_WIDTH = 4
- 接口 :首字母大寫 ,后綴Impl 例如: class ContainerImpl
- 異常類: 首字母大寫, 后綴Exception 例如: DataNotFoundException
- 抽象類 :首字母大寫, 前綴Abstract 例如: AbstractBeanDefinition
- Test類: 首字母大寫, 后綴Test 例如: public Location newLocation()
方法的命名
- 類中獲取值方法,一般要求被方法名使用被訪問字段名,前面加上前綴get,如getLastUser(), getUserCount()
- 返回布爾型的判斷方法一般要求方法名使用單詞 is 做前綴,如isPersistent(),isString()?;蛘呤褂镁哂羞壿嬕饬x的單詞,例如equal 或equals
- 用于修改某些設(shè)置的方法(一般返回類型為void):被訪問字段名的前面加上前綴 set,如setFirstName(),setLastName(),setWarpSpeed()。
- 已辦的方法一般采用完整的英文描述說明成員方法功能,第一個(gè)單詞盡可能采用一個(gè)生動(dòng)的動(dòng)詞,第一個(gè)字母小寫,如 openFile(), addAccount()。
- 接口 :首字母大寫 ,后綴Impl 例如: class ContainerImpl
- 異常類: 首字母大寫, 后綴Exception 例如: DataNotFoundException
- 抽象類 :首字母大寫, 前綴Abstract 例如: AbstractBeanDefinition
- 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í)是加載順序的問題):
- 包的定義
- impot類(輸入包的順序、避免使用*)輸入包應(yīng)該按照java.*.*,javax.*.*,org.*.* ,com.*.*的順序import在import的時(shí)候不應(yīng)該使用* (例如: java.util.*)
- 類或接口的定義
- 靜態(tài)變量定義,按public,protected,private順序
- 實(shí)例變量定義,按public,protected,private順序
- 構(gòu)造方法
- 方法定義順序按照public方法(類自己的方法),實(shí)現(xiàn)接口的方法,重載的public法,受保護(hù)方法,包作用域方法和私有方法。建議:類中每個(gè)方法的代碼行數(shù)不要超過100行。
- 內(nèi)部類的定義
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
BiConsumer接口中的方法andThen?accept使用詳解
這篇文章主要為大家介紹了BiConsumer接口中的方法andThen?accept使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
startActivityForResult和setResult案例詳解
這篇文章主要介紹了startActivityForResult和setResult案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Java IO文件編碼轉(zhuǎn)換實(shí)現(xiàn)代碼
這篇文章主要介紹了Java IO文件編碼轉(zhuǎn)換實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-12-12
Java+Ajax實(shí)現(xiàn)的用戶名重復(fù)檢驗(yàn)功能實(shí)例詳解
這篇文章主要介紹了Java+Ajax實(shí)現(xiàn)的用戶名重復(fù)檢驗(yàn)功能,結(jié)合實(shí)例形式詳細(xì)分析了java針對(duì)用戶名提交的ajax數(shù)據(jù)庫查詢與重復(fù)檢查功能相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12

