欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA代碼書(shū)寫(xiě)規(guī)范匯總詳解

 更新時(shí)間:2019年07月16日 10:41:00   作者:coderstory  
這篇文章主要介紹了JAVA代碼書(shū)寫(xiě)規(guī)范匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一般原則

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

命名的字母大小寫(xiě)問(wèn)題

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

方法的命名

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

Java注釋約定

  • 類(lèi)的整體注釋?zhuān)鹤裱璊avaDoc的規(guī)范,在每一個(gè)源文件的開(kāi)頭注明該CLASS的作用, 作簡(jiǎn)要說(shuō)明, 并寫(xiě)上源文件的作者, 編寫(xiě)日期。如果是修改別人編寫(xiě)的源文件,要在修改信息上注明修改者和修改日期。

例如:

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

例如:

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

JAVA文件聲明順序

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

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

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

相關(guān)文章

  • 利用spring aop實(shí)現(xiàn)動(dòng)態(tài)代理

    利用spring aop實(shí)現(xiàn)動(dòng)態(tài)代理

    這篇文章主要為大家詳細(xì)介紹了利用spring aop實(shí)現(xiàn)動(dòng)態(tài)代理的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Mybatis操作多數(shù)據(jù)源的實(shí)現(xiàn)

    Mybatis操作多數(shù)據(jù)源的實(shí)現(xiàn)

    本文主要介紹了Mybatis操作多數(shù)據(jù)源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JAVA8發(fā)送帶有Body的HTTP GET請(qǐng)求

    JAVA8發(fā)送帶有Body的HTTP GET請(qǐng)求

    本文主要介紹了JAVA8發(fā)送帶有Body的HTTP GET請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Java 設(shè)計(jì)模式之責(zé)任鏈模式及異步責(zé)任鏈詳解

    Java 設(shè)計(jì)模式之責(zé)任鏈模式及異步責(zé)任鏈詳解

    顧名思義,責(zé)任鏈模式(Chain of Responsibility Pattern)為請(qǐng)求創(chuàng)建了一個(gè)接收者對(duì)象的鏈。這種模式給予請(qǐng)求的類(lèi)型,對(duì)請(qǐng)求的發(fā)送者和接收者進(jìn)行解耦。這種類(lèi)型的設(shè)計(jì)模式屬于行為型模式
    2021-11-11
  • Java調(diào)用wsdl接口的兩種方法(axis和wsimport)

    Java調(diào)用wsdl接口的兩種方法(axis和wsimport)

    本文主要介紹了Java調(diào)用wsdl接口的兩種方法(axis和wsimport),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java實(shí)現(xiàn)限定時(shí)間CountDownLatch并行場(chǎng)景

    Java實(shí)現(xiàn)限定時(shí)間CountDownLatch并行場(chǎng)景

    本文將結(jié)合實(shí)例代碼,介紹Java實(shí)現(xiàn)限定時(shí)間CountDownLatch并行場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • JavaWeb中的路徑問(wèn)題解讀

    JavaWeb中的路徑問(wèn)題解讀

    這篇文章主要介紹了JavaWeb中的路徑問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • maven模塊化開(kāi)發(fā)部署實(shí)現(xiàn)方案

    maven模塊化開(kāi)發(fā)部署實(shí)現(xiàn)方案

    有些用戶有定制化需求,需要添加新的模塊功能,因此需要平臺(tái)主體功能迭代的同時(shí),非主體功能和定制化功能插件化,本文給大家介紹maven模塊化開(kāi)發(fā)部署實(shí)現(xiàn)方案,感興趣的朋友一起看看吧
    2024-01-01
  • java線程并發(fā)countdownlatch類(lèi)使用示例

    java線程并發(fā)countdownlatch類(lèi)使用示例

    javar的CountDownLatch是個(gè)計(jì)數(shù)器,它有一個(gè)初始數(shù),等待這個(gè)計(jì)數(shù)器的線程必須等到計(jì)數(shù)器倒數(shù)到零時(shí)才可繼續(xù)。
    2014-01-01
  • java 如何使用org.w3c.dom操作XML文件

    java 如何使用org.w3c.dom操作XML文件

    這篇文章主要介紹了java 如何使用org.w3c.dom操作XML文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論