天天看小說

第4章

大B:“呵呵呵!寫得不錯,不虧是C大的高材生。”

小A:“師兄你這不是在取笑我嘛!我還有好多問題得請教你哩!”

大B:“行行行……沒問題。小師弟好學,師兄哪能袖手旁觀吶!對了,你寫代碼的時候一定要注意代碼的規範。”

小A:“代碼規範?”

大B:“嗯,來來來,我說給你聽。首先是要注意註釋文檔的格式,註釋文檔將用來生成HTML格式的代碼報告,所以註釋文檔必須書寫在類、域、構造函數、方法、定義之前。註釋文檔由兩部分組成——描述、塊標記。”

例如:

註釋

@author大。

@version1.10

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

doPost(request,response);

}

大B:“看!前兩行爲描述,描述完畢後,由@符號起頭爲塊標記。”

大B:“然後是註釋的種類。有文件頭註釋、構造函數註釋、域註釋、方法註釋和定義註釋。”

小A:“什麼?註釋還有那麼多的種類的?我以前都沒有用心去記過它的喔。師兄能不能給我講講每一種註釋的功能和要求啊?”

大B:“這有什麼問題哩!舉些例子來講,那樣你就容易理解多了。”

小A:“嘿嘿!那感情好。”

大B:“文件頭註釋已結束,需要註明該文件創建時間,文件名,命名空間信息。”

例如:

描述部分用來書寫該類的作用或者相關信息,塊標記部分必須註明作者和版本。

如:

classWindowextendsBaseWindow{

……

}

大B:“構造函數註釋採用描述部分註明構造函數的作用,不一定有塊標記部分。域註釋可以出現在註釋文檔裡面,也可以不出現在註釋文檔裡面。用的域註釋將會被認爲是註釋文檔出現在最終生成的HTML報告裡面,而使用的註釋會被忽略。這個應該注意!”

例如:

booleanisTrigerSuccess=false;

又例如:

booleanisTrigerSuccess=false;

再例如:

intx=1263732;

大B:“還有就是方法註釋,方法註釋採用描述部分註明方法的功能,塊標記部分註明方法的參數,返回值,異常等信息。定義註釋,規則同域註釋。”

小A:“喔……原註釋還真的是有那麼多種類,每個種類都有不同的功能哩!嘿嘿!看來以後我得更認真學習才行哩!”

大B:“呵呵……你能這麼想就好嘍!對了,小A,註釋塊標記你知道不?”

小A:“註釋塊標?嘿嘿!這個……也不知道……”

大B:“沒關係,我告訴你。首先是標記的順序。”

塊標記將採用如下順序:

……

*

*@param(classes,interfaces,methodsandconstructorsonly)

*@return(methodsonly)

*@exception(@throwsisasynonymaddedinJavadoc1.2)

*@author(classesandinterfacesonly,required)

*@version(classesandinterfacesonly,required.Seefootnote1)

*@see

*@since

*@serial(or@serialFieldor@serialData)

*@deprecated(seeHowandWhenToDeprecateAPIs)

*……

一個塊標記可以根據需要重複出現多次,多次出現的標記按照如下順序:

@author按照時間先後順序(chronological)

@param按照參數定義順序(declaration)

@throws按照異常名字的字母順序(alphabetically)

@see按照如下順序:

@see#field

@see#Constructor(Type,Type……)

@see#Constructor(Typeid,Typeid……)

@see#method(Type,Type……)

@see#method(Typeid,Type,id……)

@seeClass

@seeClass#field

@seeClass#Constructor(Type,Type……)

@seeClass#Constructor(Typeid,Typeid)

@seeClass#method(Type,Type……)

@seeClass#method(Typeid,Typeid……)

@seepackage.Class

@seepackage.Class#field

@seepackage.Class#Constructor(Type,Type……)

@seepackage.Class#Constructor(Typeid,Typeid)

@seepackage.Class#method(Type,Type……)

@seepackage.Class#method(Typeid,Type,id)

@seepackage

小A:“哇噻!塊標記還可以按照時間先後順序,按照參數定義順序,按照異常名字的字母順序哩!師兄,你講得真詳細。看來我得好好得花點心思把它們都記下來纔好哩!”

大B:“能記住當然好哩!我再給你講下標記介紹。”

@param標記

@param後面空格後跟著參數的變量名字(不是類型),空格後跟著對該參數的描述。

在描述中第一個名字爲該變量的數據類型,表示數據類型的名字前面可以有一個冠詞如:a,an,the。如果是int類型的參數則不需要註明數據類型。例如:

……

*@paramchthechar用用來……

*@paramimagetheimage用來……

*@paramnum一個數字……

……

大B:“對於參數的描述如果只是一短語,最好不要首字母大寫,結尾也不要句號。對於參數的描述是一個句子,最好不要首字母大寫,如果出現了句號這說明你的描述不止一句話。如果非要首字母大寫的話,必須用句號來結束句子。(英文的句號)”

公司內部添加ByRef和ByVal兩個標記,例如:

*@paramimagetheimageByRef用來……

說明該參數是引用傳遞(指針),ByVal可以省略,表示是值傳遞。

大B:“代碼規範大概要點就是這些了。聽起來好像很多,只要用心,其實也很容易記的。”

小A:“嘿嘿!師兄,你太厲害了!”

第76章第93章第101章第53章第172章第52章第108章第202章第124章第35章第201章第42章第208章第203章第43章第185章第82章第200章第41章第28章第200章第209章第135章第139章第178章第72章第194章第71章第37章第6章第150章第135章第143章第144章第81章第198章第9章第11章第148章第98章第125章第212章第188章第2章第148章第155章第178章第162章第186章第61章第98章第167章第118章第29章第208章第17章第37章第227章第7章第93章第101章第163章第14章第60章第1章第220章第33章第125章第150章第34章第216章第122章第213章第139章第222章第87章第50章第47章第38章第19章第18章第23章第16章第152章第181章第133章第101章第125章第188章第1章第164章第17章第20章第157章第116章第100章第73章第107章第37章第210章
第76章第93章第101章第53章第172章第52章第108章第202章第124章第35章第201章第42章第208章第203章第43章第185章第82章第200章第41章第28章第200章第209章第135章第139章第178章第72章第194章第71章第37章第6章第150章第135章第143章第144章第81章第198章第9章第11章第148章第98章第125章第212章第188章第2章第148章第155章第178章第162章第186章第61章第98章第167章第118章第29章第208章第17章第37章第227章第7章第93章第101章第163章第14章第60章第1章第220章第33章第125章第150章第34章第216章第122章第213章第139章第222章第87章第50章第47章第38章第19章第18章第23章第16章第152章第181章第133章第101章第125章第188章第1章第164章第17章第20章第157章第116章第100章第73章第107章第37章第210章
主站蜘蛛池模板: 靖宇县| 策勒县| 讷河市| 六安市| 太原市| 惠州市| 嘉荫县| 台州市| 郸城县| 宜章县| 宁明县| 扶风县| 锡林浩特市| 聂拉木县| 高邮市| 修武县| 苍溪县| 县级市| 怀仁县| 新化县| 济宁市| 襄城县| 土默特右旗| 上犹县| 潜山县| 屏边| 靖西县| 南澳县| 牙克石市| 盘山县| 新竹市| 方城县| 井陉县| 石屏县| 阿拉善右旗| 曲麻莱县| 石城县| 太康县| 云阳县| 正蓝旗| 冕宁县|