java編碼規(guī)范v1.0_第1頁
java編碼規(guī)范v1.0_第2頁
java編碼規(guī)范v1.0_第3頁
java編碼規(guī)范v1.0_第4頁
java編碼規(guī)范v1.0_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選文檔JAVAJAVA 編碼規(guī)范編碼規(guī)范精選文檔目目 錄錄JAVAJAVA 編碼規(guī)范編碼規(guī)范 .11 概述概述.71.1 范圍 .71.2 說明 .72 文件體系結(jié)構(gòu)文件體系結(jié)構(gòu).82.1 文件體系規(guī)章 .8規(guī)章2.1.1 JSP文件名目結(jié)構(gòu).8建議2.1.2 Java文件名目結(jié)構(gòu).82.2 源文件結(jié)構(gòu)規(guī)章 .9規(guī)章2.2.3 類變量的聲明挨次是public,protected,package,private .9規(guī)章2.2.4 變量、常量的注釋應(yīng)放在其上方相鄰位置.9規(guī)章2.2.5 用遞增的方式寫構(gòu)造器(比如:參數(shù)多的寫在后面).9規(guī)章2.2.6 類變量的存取方法:get和set方法.9規(guī)

2、章2.2.7 假如定義main() 方法,必需將main方法寫在類的底部.93 文件命名規(guī)章文件命名規(guī)章.10規(guī)章 3.1 STRUCTS配置文件命名.10規(guī)章 3.2 JSP 文件命名.10規(guī)章 3.3 JAVA文件命名.104 排版規(guī)章排版規(guī)章.114.1 語句排版規(guī)章 .11規(guī)章4.2.1簡潔語句每行至多包含一條語句.11規(guī)章4.2.2 復(fù)合語句被括其中的語句縮進(jìn)一個層次.11規(guī)章4.2.3 左大括號應(yīng)位于復(fù)合語句起始行的行尾,前面需加一個空格符;右大括號應(yīng)另起一行并與復(fù)合語句首行對齊。.11精選文檔規(guī)章4.2.4 必需用和將if內(nèi)的語句括起來。(即使只有一條語句的狀況下).11規(guī)章4.

3、2.7 在多層嵌套的for語句中,應(yīng)在for上一行增加規(guī)律注釋.12建議4.2.14 “=”等比較符前后加一個空格.125 注釋規(guī)章注釋規(guī)章.135.1 類注釋規(guī)章 .13規(guī)章5.1.1 使用JavaDoc,列出功能、版本信息、日期、作者和版權(quán)聲明.13規(guī)章5.1.2 假如對文件進(jìn)行了修改,必需說明修改目的、修改日期、修改人,并變更版本信息.135.2 類方法注釋規(guī)章 .14規(guī)章5.2.1 用中文寫出每個參數(shù)和返回值的含義.14規(guī)章5.2.2 當(dāng)修改其他組員創(chuàng)建的類時,增加author標(biāo)簽.145.3 單行注釋規(guī)章 .14規(guī)章5.4.1單行注釋位于所描述內(nèi)容之前.14規(guī)章5.4.2 單行注釋之

4、前留一行空行.145.3.1 接口.145.3.2 局部變量.145.3.3 方法.155.3.4 方法內(nèi)部注釋.156 命名規(guī)章命名規(guī)章.166.1 包命名規(guī)章 .16規(guī)章6.1.1包的名字全部小寫.166.2 類命名規(guī)章 .17規(guī)章6.2.1類名用英文名稱,不用漢語拼音。例如Customer,而不是KH.17規(guī)章6.2.2類名是名詞,接受大小寫混合的方式,每個單詞的首字母大寫精選文檔.17規(guī)章6.2.3類名不要用復(fù)數(shù).17規(guī)章6.2.4類名不要以“A”,“An”或“The”開頭.17規(guī)章6.2.5假如不能選擇適當(dāng)?shù)念惷?,而該類與數(shù)據(jù)庫一個表緊密相關(guān),再把數(shù)據(jù)庫表名作為類名.17規(guī)章6.2.

5、6使用完整單詞,避開縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML).17規(guī)章6.2.7 命名方式接受匈牙利式.176.3 接口命名規(guī)章 .17規(guī)章6.3.1接口的規(guī)章與類相同.17規(guī)章6.3.2接口名前面加“I”.186.4 方法命名規(guī)章 .18規(guī)章6.4.1方法名是動詞名詞對,接受大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫.18建議6.4.2方法名應(yīng)精確描述方法的功能,不要使用無意義或含義不清的動詞為方法命名.186.5 變量命名規(guī)章 .18規(guī)章6.5.1 變量名接受大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫.18規(guī)章6.5.2 除一次性的臨時

6、變量(如for循環(huán)變量)以外,不能用單個字符的變量名.18規(guī)章6.5.3 假如變量名代表容器(collection),如Array, Vector等,在變量名后加“List”.19建議6.5.4 變量名要簡短且富于描述,能夠指出其用途.19建議6.5.5 臨時變量通常被取名為i,j,k,m和n,它們一般用于整型;c,d,e,它們一般用于字符型.196.6 常量命名規(guī)章 .19規(guī)章6.6.1 類常量全部用大寫字母,單詞間用下劃線隔開.19精選文檔6.7 方法的參數(shù)命名規(guī)章 .19規(guī)章6.7.1使用全英文命名。首字母小寫,后續(xù)單詞首字母大寫.196.8 數(shù)組命名規(guī)章 .19規(guī)章6.8.1將 放在類

7、型后.196.9 BOOLEAN GETTER 方法命名規(guī)章.20規(guī)章6.9.1全部布爾型get方法必需用單詞”is”作為前綴。”is”為小寫,后續(xù)單詞首字母大寫,其余字母小寫.206.10 構(gòu)造方法命名規(guī)章 .20規(guī)章6.12.1 構(gòu)造方法使用類名.207 程序日志打印程序日志打印.21規(guī)章 7.1 后臺不允許消滅SYSOUT把握臺打印日志;.21規(guī)章 7.2 日志打印類統(tǒng)一接受“ORG.APACHE.COMMONS.LOGGING.LOG”,不允許使用其它JAR包供應(yīng)的類似方式;.21規(guī)章 7.3 日志級別 INFO、ERROR; .21規(guī)章 7.4 特別信息的日志打?。?21規(guī)章 8.8

8、 引用 SPRING 配置的BEAN統(tǒng)一接受注解方式按類型注入.218 方法方法.22規(guī)章 9.1 用注釋具體說明每個參數(shù)的作用、取值范圍及參數(shù)間的關(guān)系 .229 程序效率程序效率.23規(guī)章 11.1 不要在循環(huán)內(nèi)執(zhí)行重復(fù)操作 .23規(guī)章 11.2 在對字符串有附加操作時,使用 STRINGBUFFER而非 STRING。使用STRINGBUFFER性能會好很多.23建議11.3 顯式地把已經(jīng)不再被引用的對象賦為NULL.23建議11.4 不要頻繁初始化對象.2310 質(zhì)量保證質(zhì)量保證.2510.1 質(zhì)量保證規(guī)章 .25精選文檔規(guī)章 12.1 打開的數(shù)據(jù)庫連接、文件在使用后必需關(guān)閉 .25建議

9、12.2 合理設(shè)計程序,避開占用太大內(nèi)存.2510.2 平安規(guī)章 .25規(guī)章 12.3 不要使用不推舉的 API.25規(guī)章 12.5 在程序中消滅連續(xù)GET值時,需推斷是否為空,杜絕空指針.2511 WEB 編碼規(guī)范編碼規(guī)范.2611.1 HTML、CSS、JS、IMAGES、JSP均須依據(jù)商定名目存放;.26JAVASCRIPT書寫規(guī)范.2611.2 注釋規(guī)范 .26附錄附錄 A 詞典規(guī)范詞典規(guī)范.27A.1 動詞詞典.27A.2 名詞詞典.28 精選文檔1 1 概述概述制定編碼規(guī)范的最主要的目的是為了對產(chǎn)出代碼的長期維護(hù)。通常負(fù)責(zé)維護(hù)代碼的人大多都不是開發(fā)者本人,假如有一個統(tǒng)一的代碼格式以

10、及說明就可以削減混淆提高理解速度。因此,下列的編碼規(guī)范是基于良好的編碼習(xí)慣和可讀性的原則來制定的。特殊說明:特殊說明:不反對不提倡拷貝粘貼,但拷貝的每行代碼務(wù)必務(wù)必清楚意思和緣由!1.1 范圍范圍本文檔僅僅是編碼規(guī)范,它定義了全部代碼編寫者在編寫 Java 代碼時應(yīng)遵守的一些規(guī)章和習(xí)慣。同時,還供應(yīng)一些有關(guān)編寫 Enterprise JavaBean 代碼的命名規(guī)章和習(xí)慣。本規(guī)范接受以下術(shù)語描述: 規(guī)章:規(guī)章:編程時強(qiáng)制必需遵守的原則。建議建議:編程時需考慮的事項。 說明:說明:對此規(guī)章或建議進(jìn)行必要的解釋。 示例:示例:對此規(guī)章或建議從正、反兩個方面給出例子。1.2 說明說明本文檔中標(biāo)注規(guī)章

11、的地方為強(qiáng)制要求。鼓舞對當(dāng)次需求變更涉及代碼進(jìn)行重構(gòu),簡潔原則:發(fā)覺重復(fù)抽取不同點(diǎn)封裝共同點(diǎn)并將不同點(diǎn)傳參遞歸。特殊留意:特殊留意:在沒有充分測試保證的前提下,避開主動對涉及其它重要業(yè)務(wù)功能的代碼進(jìn)行重構(gòu)。精選文檔2 2 文件體系結(jié)構(gòu)文件體系結(jié)構(gòu)2.1 文件體系文件體系規(guī)章規(guī)章規(guī)章規(guī)章 2.1.1 WebRoot 文件名目結(jié)構(gòu)文件名目結(jié)構(gòu)|images 存放圖片|resources |css 存放樣式表|js 存放 javascript 腳本|模塊分類名 |WEB-INF 存放頁面和配置文件|config 存放 log4j 文件、jdbc 文件|jsp 存放 jsp 頁面|模塊分類名注:jsp

12、 頁面引用的 js 名稱必需相同,基于 js 和 jsp 文件夾下的路徑必需相同規(guī)章規(guī)章 2.1.2 Java 文件名目結(jié)構(gòu)文件名目結(jié)構(gòu)com.56sino|base存放基礎(chǔ)類|controller存放接口把握類|dao存放數(shù)據(jù)接口類|impl存放數(shù)據(jù)接口實現(xiàn)類|filter存放過濾類|listener存放監(jiān)聽類精選文檔|service存放服務(wù)接口類|impl存放服務(wù)實現(xiàn)類|util存放公共工具類|controller存放模塊接口把握類|dao存放模塊數(shù)據(jù)接口類|impl存放模塊數(shù)據(jù)接口實現(xiàn)類|entity存放模塊實體類|service存放模塊服務(wù)接口類|impl存放模塊服務(wù)接口實現(xiàn)類|sql

13、存放 Mybatis/Ibatis Sql 文件2.2 源文件結(jié)構(gòu)源文件結(jié)構(gòu)規(guī)章規(guī)章規(guī)章規(guī)章 2.2.3 類變量的聲明挨次是類變量的聲明挨次是 public,protected,package,private公共變量(Public)愛護(hù)變量(Protected)包一級別的變量(沒有訪問修飾符)私有變量(Private)依據(jù)實際變量的引用范圍適當(dāng)接受。精選文檔規(guī)章規(guī)章 2.2.4 變量、常量的注釋應(yīng)放在其上方相鄰位置或右方變量、常量的注釋應(yīng)放在其上方相鄰位置或右方 規(guī)章規(guī)章 2.2.5 用遞增的方式寫構(gòu)造器(比如:參數(shù)多的寫在后面)用遞增的方式寫構(gòu)造器(比如:參數(shù)多的寫在后面) 規(guī)章規(guī)章 2.2

14、.6 類變量的存取方法:類變量的存取方法:get 和和 set 方法方法規(guī)章規(guī)章 2.2.7 假如定義假如定義 main() 方法,必需將方法,必需將 main 方法寫在類的底部方法寫在類的底部精選文檔3 3 文件命名文件命名規(guī)章規(guī)章規(guī)章規(guī)章 3.1 JSP 文件文件命名命名xxxMain.jsp主頁面xxxInsert.jsp新增頁面xxxUpdate.jsp 修改頁面xxxDetail.jsp 詳情頁面規(guī)章規(guī)章 3.2 Java 文件文件命名命名接口把握類模塊名 Controller.java數(shù)據(jù)接口類I 模塊名 Dao.java數(shù)據(jù)接口實現(xiàn)類模塊名 DaoImpl.java服務(wù)接口類I

15、模塊名 Service.java服務(wù)接口實現(xiàn)類模塊名 ServiceImpl.java實體類數(shù)據(jù)庫表名(去掉數(shù)據(jù)庫前綴、下劃線).javasql 文件實體類名.sqlMap精選文檔4 4 排版排版規(guī)章規(guī)章4.1 語句語句排版規(guī)章排版規(guī)章規(guī)章規(guī)章 4.2.1 簡潔語句簡潔語句每行至多包含一條語句每行至多包含一條語句argv+; / 正確正確argc-; / 正確正確argv+; argc-; / 禁止這樣使用!禁止這樣使用!int i = 0;/ 正確正確int j = 0;/ 正確正確Int i = 0, j = 0;/ 禁止這樣使用!禁止這樣使用!規(guī)章規(guī)章 4.2.2 復(fù)合語句被括其中的語句

16、縮進(jìn)一個層次復(fù)合語句被括其中的語句縮進(jìn)一個層次規(guī)章規(guī)章 4.2.3 左大括號左大括號應(yīng)位于復(fù)合語句起始行的行尾,前面需加一個應(yīng)位于復(fù)合語句起始行的行尾,前面需加一個空格符;右大括號空格符;右大括號應(yīng)另起一行并與復(fù)合語句首行對齊。應(yīng)另起一行并與復(fù)合語句首行對齊。示例:示例:for (initialization; condition; update) statements;規(guī)章規(guī)章 4.2.4 必需用必需用和和將將 if 內(nèi)的語句括起來。內(nèi)的語句括起來。(即使只有一條語句即使只有一條語句的狀況下的狀況下)正確:正確:If (condition) System.out.println(“正確正確”

17、);錯誤:錯誤:if(condition)System.out.println(“錯誤錯誤”);精選文檔規(guī)章規(guī)章 4.2.5 在多層嵌套的在多層嵌套的 for 語句中,應(yīng)在語句中,應(yīng)在 for 上一行增加規(guī)律注釋上一行增加規(guī)律注釋規(guī)章規(guī)章 4.2.6 “=”等運(yùn)算符前后加一個空格等運(yùn)算符前后加一個空格規(guī)章規(guī)章 4.2.7 重載方法依據(jù)參數(shù)個數(shù)升序排序重載方法依據(jù)參數(shù)個數(shù)升序排序建議建議 4.2.8 行長度超過一屏?xí)r必需適當(dāng)折行,以不消滅橫向滾動條為行長度超過一屏?xí)r必需適當(dāng)折行,以不消滅橫向滾動條為宜宜精選文檔5 5 注釋注釋規(guī)章規(guī)章5.1 類注釋類注釋規(guī)章規(guī)章規(guī)章規(guī)章 5.1.1 類注釋類注釋

18、示例:示例:/* * see 類名注釋類名注釋 * author 作者作者 */規(guī)章規(guī)章 5.1.2 方法注釋方法注釋示例:示例:/* * see 方法功能方法功能 * param 參數(shù)類型及含義參數(shù)類型及含義 * return 如有返回值需注明返回數(shù)據(jù)類型及含義如有返回值需注明返回數(shù)據(jù)類型及含義 * author 作者作者 */規(guī)章規(guī)章 5.1.3 單行注釋單行注釋雙斜杠+空格+內(nèi)容除 if else 注釋在左大括號后以外,其余注釋于代碼的上一行規(guī)章規(guī)章 5.1.4 類屬性必需用單行注釋其含義類屬性必需用單行注釋其含義精選文檔6 6 命名命名規(guī)章規(guī)章6.1 包包命名規(guī)章命名規(guī)章規(guī)章規(guī)章 6.

19、1.1 包的名字全部小寫包的名字全部小寫,全部包必需基于全部包必需基于 con.56sino6.2 類類命名規(guī)章命名規(guī)章規(guī)章規(guī)章 6.2.1 類名用英文名稱,禁止?jié)h語拼音。類名用英文名稱,禁止?jié)h語拼音。規(guī)章規(guī)章 6.2.2 類名是名詞,接受大小寫混合的方式,每個單詞的首字類名是名詞,接受大小寫混合的方式,每個單詞的首字母大寫母大寫規(guī)章規(guī)章 6.2.3 類名不要用復(fù)數(shù)類名不要用復(fù)數(shù)規(guī)章規(guī)章 6.2.4 類名類名使用完整單詞,避開縮寫詞使用完整單詞,避開縮寫詞(除非該縮寫詞被廣泛使除非該縮寫詞被廣泛使用用)規(guī)章規(guī)章 6.2.5 盡量簡短易懂盡量簡短易懂規(guī)章規(guī)章 6.2.6 接口把握類后加接口把握類

20、后加 Controller規(guī)章規(guī)章 6.2.7 服務(wù)接口類前面加大寫服務(wù)接口類前面加大寫 I,后加,后加 Service規(guī)章規(guī)章 6.2.8 服務(wù)接口實現(xiàn)類后加服務(wù)接口實現(xiàn)類后加 ServiceImpl規(guī)章規(guī)章 6.2.9 數(shù)據(jù)接口類前加大寫數(shù)據(jù)接口類前加大寫 I,后加,后加 Dao精選文檔規(guī)章規(guī)章 6.2.10 數(shù)據(jù)接口實現(xiàn)類后加數(shù)據(jù)接口實現(xiàn)類后加 DaoImpl規(guī)章規(guī)章 6.2.11 實體類與對應(yīng)數(shù)據(jù)庫表名全都(去掉數(shù)據(jù)庫前綴和下實體類與對應(yīng)數(shù)據(jù)庫表名全都(去掉數(shù)據(jù)庫前綴和下劃線)劃線)6.3 方法方法命名規(guī)章命名規(guī)章規(guī)章規(guī)章 6.3.1 首字母小寫,其他首字母大寫首字母小寫,其他首字母大

21、寫規(guī)章規(guī)章 6.3.2 方法名精確方法名精確描述方法的功能,禁止無意義或含義描述方法的功能,禁止無意義或含義不清的方法名不清的方法名規(guī)章規(guī)章 6.3.3 通用方法名通用方法名新增 xxxInsert修改 xxxUpdate刪除 xxxDelete查詢單體xxxLoad查詢結(jié)合xxxList/xxxMap分頁xxxPage規(guī)章規(guī)章 6.3.4 前臺前臺 js 調(diào)用調(diào)用 controller,controller 調(diào)用調(diào)用service,service 調(diào)用調(diào)用 dao,dao 調(diào)用調(diào)用 sql 語句,方法名保持全都語句,方法名保持全都規(guī)章規(guī)章 6.3.5 參數(shù)用全英文命名。首字母小寫,后續(xù)單詞首

22、字母大寫參數(shù)用全英文命名。首字母小寫,后續(xù)單詞首字母大寫精選文檔6.4 變量變量命名規(guī)章命名規(guī)章規(guī)章規(guī)章 6.4.1 變量名接受大小寫混合的方式,第一個單詞的首字母小變量名接受大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫寫,其后單詞的首字母大寫規(guī)章規(guī)章 6.4.2 除一次性的臨時變量(如除一次性的臨時變量(如 for 循環(huán)變量)以外,不能用循環(huán)變量)以外,不能用單個字符的變量名單個字符的變量名規(guī)章規(guī)章 6.4.3 假如變量名代表集合,如假如變量名代表集合,如 Map, List 等,在變量名后加等,在變量名后加對應(yīng)集合名字對應(yīng)集合名字 List,Map建議建議6.4.4 變量

23、名要簡短且富于描述,能夠指出其用途變量名要簡短且富于描述,能夠指出其用途建議建議6.45 臨時變量通常被取名為臨時變量通常被取名為i,j,k,m和和n,它們一般用于,它們一般用于整型;整型;c,d,e,它們一般用于字符型,它們一般用于字符型6.5 常量常量全部用大寫字母,單詞間用下劃線隔開全部用大寫字母,單詞間用下劃線隔開6.6 數(shù)組數(shù)組命名規(guī)章命名規(guī)章,將,將放在類型后放在類型后6.7 Boolean getter 方法命名規(guī)章方法命名規(guī)章規(guī)章規(guī)章 6.7.1 全部布爾型全部布爾型 get 方法必需用單詞方法必需用單詞”is”作為前綴。作為前綴?!眎s”為小為小寫,后續(xù)單詞首字母大寫,其余字

24、母小寫寫,后續(xù)單詞首字母大寫,其余字母小寫6.8 sqlMap 文件命名規(guī)范文件命名規(guī)范規(guī)章規(guī)章 6.8.1 實體類名字實體類名字+.xml精選文檔規(guī)章規(guī)章 6.8.2 命名空間為實體類名字命名空間為實體類名字規(guī)章規(guī)章 6.8.3 簡稱為實體類名字簡稱簡稱為實體類名字簡稱精選文檔7 7 程序日志打印程序日志打印規(guī)章規(guī)章 7.1 后臺不允許消滅后臺不允許消滅 sysout 把握臺打印日志;把握臺打印日志;規(guī)章規(guī)章 7.2 前臺不允許消滅前臺不允許消滅 alert 輸出語句,調(diào)試完成后必需刪除輸出語句,調(diào)試完成后必需刪除規(guī)章規(guī)章 7.3 日志打印類統(tǒng)一接受日志打印類統(tǒng)一接受 log4j 打印,不允

25、許使用其它打印,不允許使用其它 jar 包供包供應(yīng)的類似方式;應(yīng)的類似方式;規(guī)章規(guī)章 7.4 日志級別日志級別 INFO、ERROR;info 為提示信息,error 為錯誤信息 精選文檔8 8 程序效率程序效率規(guī)章規(guī)章 8.1 不要在循環(huán)不要在循環(huán)內(nèi)執(zhí)行重復(fù)操作內(nèi)執(zhí)行重復(fù)操作可在循環(huán)外調(diào)用一次的,就避開在循環(huán)內(nèi)進(jìn)行不必要的反復(fù)調(diào)用。示例:示例:for (int i = 0; i dw.getRowCount(); i+) 應(yīng)寫成:int rows = dw.getRowCount();for (int i = 0; i rows; i+) 規(guī)章規(guī)章 8.2 在對字符串有附加操作時,使用在對字符串有附加操作時,使用 StringBuffer 而非而非String。建議建議8.3 盡量避開多級嵌套循環(huán)盡量避開多級嵌套循環(huán)建議建議8.4 盡量削減盡量削減if中的推斷條件中的推斷條件精選文檔9 9

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論