![軟件制造_軟件編碼_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/32569c29-d529-4e0f-9374-dff8dd4331b0/32569c29-d529-4e0f-9374-dff8dd4331b01.gif)
![軟件制造_軟件編碼_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/32569c29-d529-4e0f-9374-dff8dd4331b0/32569c29-d529-4e0f-9374-dff8dd4331b02.gif)
![軟件制造_軟件編碼_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/32569c29-d529-4e0f-9374-dff8dd4331b0/32569c29-d529-4e0f-9374-dff8dd4331b03.gif)
![軟件制造_軟件編碼_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/32569c29-d529-4e0f-9374-dff8dd4331b0/32569c29-d529-4e0f-9374-dff8dd4331b04.gif)
![軟件制造_軟件編碼_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/32569c29-d529-4e0f-9374-dff8dd4331b0/32569c29-d529-4e0f-9374-dff8dd4331b05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件制造工程軟件制造工程 第四章第四章 編程編程 第四章第四章 軟件編程軟件編程v選擇程序設(shè)計(jì)語言選擇程序設(shè)計(jì)語言v編碼規(guī)范編碼規(guī)范v代碼版本控制代碼版本控制4.1 選擇程序設(shè)計(jì)語言選擇程序設(shè)計(jì)語言v有多少種編程語言?各編程語言的流行度有多少種編程語言?各編程語言的流行度(所所占的市場(chǎng)份額占的市場(chǎng)份額)?vTIOBE組織,對(duì)組織,對(duì)20多種語言進(jìn)行統(tǒng)計(jì)排行多種語言進(jìn)行統(tǒng)計(jì)排行網(wǎng)址:網(wǎng)址: http:/ 劃代劃代語言語言特點(diǎn)特點(diǎn)級(jí)別級(jí)別1GL機(jī)器語言機(jī)器語言程序不直觀,編程出錯(cuò)率高程序不直觀,編程出錯(cuò)率高運(yùn)行效率高,使用運(yùn)行效率高,使用CPU硬件硬件低級(jí)低級(jí)2GL匯編語言匯編語言比機(jī)器語言直觀,
2、減少了出錯(cuò)率比機(jī)器語言直觀,減少了出錯(cuò)率與機(jī)器碼一樣長(zhǎng)與機(jī)器碼一樣長(zhǎng)使用于嵌入式開發(fā),驅(qū)動(dòng)程序使用于嵌入式開發(fā),驅(qū)動(dòng)程序3GL面向過程語言,面向過程語言,C語法簡(jiǎn)潔,速度快,使用嵌入式語法簡(jiǎn)潔,速度快,使用嵌入式,驅(qū)動(dòng)程序,系統(tǒng)軟件,服務(wù)器,驅(qū)動(dòng)程序,系統(tǒng)軟件,服務(wù)器程序程序高級(jí)高級(jí)4GL面向?qū)ο笳Z言,面向?qū)ο笳Z言,JAVA,C#, C+Java:虛擬機(jī),跨平臺(tái),垃圾回虛擬機(jī),跨平臺(tái),垃圾回收機(jī)制,使用收機(jī)制,使用Web應(yīng)用程序,信應(yīng)用程序,信息管理系統(tǒng)息管理系統(tǒng)C#:微軟平臺(tái)微軟平臺(tái),垃圾回收機(jī)制垃圾回收機(jī)制C+:自己管理內(nèi)存,速度快,自己管理內(nèi)存,速度快,C/S結(jié)構(gòu)程序,服務(wù)器程序結(jié)構(gòu)程序
3、,服務(wù)器程序4.1 選擇程序設(shè)計(jì)語言選擇程序設(shè)計(jì)語言v個(gè)人如何選擇程序設(shè)計(jì)語言?個(gè)人如何選擇程序設(shè)計(jì)語言?v根據(jù)愛好,選擇一個(gè)根據(jù)愛好,選擇一個(gè)TOP6的語言的語言v至少要精通一門語言至少要精通一門語言(很重要)很重要)v如何精通一門語言?如何精通一門語言? 知道食譜不一定成為名廚,沒有捷徑,必須知道食譜不一定成為名廚,沒有捷徑,必須不斷實(shí)踐不斷實(shí)踐4.2 編碼規(guī)范v代碼組織與風(fēng)格代碼組織與風(fēng)格v注釋注釋v命名命名 v聲明聲明v語句結(jié)構(gòu)語句結(jié)構(gòu)4.2.1 代碼組織與風(fēng)格代碼組織與風(fēng)格1 基本原則基本原則 v代碼組織的目的:美觀代碼組織的目的:美觀v代碼的組織和風(fēng)格的基本原則是:便于自代碼的組織
4、和風(fēng)格的基本原則是:便于自己的開發(fā),己的開發(fā),易于與他人的交流易于與他人的交流。v因個(gè)人習(xí)慣和編輯器等可以設(shè)置和形成自因個(gè)人習(xí)慣和編輯器等可以設(shè)置和形成自己的風(fēng)格,但必須前后一致,并符合本規(guī)己的風(fēng)格,但必須前后一致,并符合本規(guī)范的基本要求和原則。范的基本要求和原則。3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格2 縮進(jìn)縮進(jìn) v子功能塊當(dāng)在其父功能塊后縮進(jìn)。子功能塊當(dāng)在其父功能塊后縮進(jìn)。 v當(dāng)功能塊過多而導(dǎo)致縮進(jìn)過深時(shí)將子功能塊提取出來做為當(dāng)功能塊過多而導(dǎo)致縮進(jìn)過深時(shí)將子功能塊提取出來做為子函數(shù)。子函數(shù)。 v代碼中以代碼中以TAB(4個(gè)字符)縮進(jìn),在編輯器中請(qǐng)將個(gè)字符)縮進(jìn),在編輯器中請(qǐng)將TAB設(shè)設(shè)置
5、為以空格替代,否則在不同編輯器或設(shè)置下會(huì)導(dǎo)致置為以空格替代,否則在不同編輯器或設(shè)置下會(huì)導(dǎo)致TAB長(zhǎng)長(zhǎng)度不等而影響整個(gè)程序代碼的格式。例如:度不等而影響整個(gè)程序代碼的格式。例如: 縮進(jìn)示例:縮進(jìn)示例: public void methodName() if(some condition) for() /some sentences /end for /end if 3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格3長(zhǎng)度長(zhǎng)度 v為便于閱讀和理解,單個(gè)函數(shù)的有效代碼長(zhǎng)度當(dāng)為便于閱讀和理解,單個(gè)函數(shù)的有效代碼長(zhǎng)度當(dāng)盡量控制在盡量控制在100行以內(nèi)(不包括注釋行),當(dāng)一行以內(nèi)(不包括注釋行),當(dāng)一個(gè)功能模塊過大
6、時(shí)往往造成閱讀困難,因此當(dāng)使個(gè)功能模塊過大時(shí)往往造成閱讀困難,因此當(dāng)使用子函數(shù)等將相應(yīng)功能抽取出來,這也有利于提用子函數(shù)等將相應(yīng)功能抽取出來,這也有利于提高代碼的重用度。高代碼的重用度。 v單個(gè)類也不宜過大,當(dāng)出現(xiàn)此類情況時(shí)當(dāng)將相應(yīng)單個(gè)類也不宜過大,當(dāng)出現(xiàn)此類情況時(shí)當(dāng)將相應(yīng)功能的代碼重構(gòu)到其他類中,通過組合等方式來功能的代碼重構(gòu)到其他類中,通過組合等方式來調(diào)用,建議單個(gè)類的長(zhǎng)度包括注釋行不超過調(diào)用,建議單個(gè)類的長(zhǎng)度包括注釋行不超過1500行。行。 v盡量避免使用大類和長(zhǎng)方法。盡量避免使用大類和長(zhǎng)方法。3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格4行寬行寬 頁寬應(yīng)該設(shè)置為頁寬應(yīng)該設(shè)置為80字符。一般
7、不要超過這個(gè)字符。一般不要超過這個(gè)寬度寬度, 這會(huì)導(dǎo)致在某些機(jī)器中無法以一屏來這會(huì)導(dǎo)致在某些機(jī)器中無法以一屏來完整顯示完整顯示, 但這一設(shè)置也可以靈活調(diào)整。在但這一設(shè)置也可以靈活調(diào)整。在任何情況下任何情況下, 超長(zhǎng)的語句應(yīng)該在一個(gè)逗號(hào)后超長(zhǎng)的語句應(yīng)該在一個(gè)逗號(hào)后或一個(gè)操作符前折行。一條語句折行后或一個(gè)操作符前折行。一條語句折行后, 應(yīng)應(yīng)該比原來的語句再縮進(jìn)一個(gè)該比原來的語句再縮進(jìn)一個(gè)TAB或或4個(gè)空格,個(gè)空格,以便于閱讀。以便于閱讀。 3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格5間隔間隔 v 類、方法及功能塊間等應(yīng)以空行相隔,以類、方法及功能塊間等應(yīng)以空行相隔,以增加可讀性,但不得有無規(guī)則的大片
8、空行。增加可讀性,但不得有無規(guī)則的大片空行。 v 操作符兩端應(yīng)當(dāng)各空一個(gè)字符以增加可讀操作符兩端應(yīng)當(dāng)各空一個(gè)字符以增加可讀性。性。 v 相應(yīng)獨(dú)立的功能模塊之間可使用注釋行間相應(yīng)獨(dú)立的功能模塊之間可使用注釋行間隔,并標(biāo)明相應(yīng)內(nèi)容隔,并標(biāo)明相應(yīng)內(nèi)容 例3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格6 對(duì)齊對(duì)齊 v關(guān)系密切的行應(yīng)對(duì)齊,對(duì)齊包括類型、修飾、名關(guān)系密切的行應(yīng)對(duì)齊,對(duì)齊包括類型、修飾、名稱、參數(shù)等各部分對(duì)齊。稱、參數(shù)等各部分對(duì)齊。 v連續(xù)賦值時(shí)當(dāng)對(duì)齊操作符。連續(xù)賦值時(shí)當(dāng)對(duì)齊操作符。 v當(dāng)方法參數(shù)過多時(shí)當(dāng)在每個(gè)參數(shù)后(逗號(hào)后)換當(dāng)方法參數(shù)過多時(shí)當(dāng)在每個(gè)參數(shù)后(逗號(hào)后)換行并對(duì)齊。行并對(duì)齊。 v當(dāng)控
9、制或循環(huán)中的條件比較長(zhǎng)時(shí)當(dāng)換行(操作符當(dāng)控制或循環(huán)中的條件比較長(zhǎng)時(shí)當(dāng)換行(操作符前)、對(duì)齊并注釋各條件。前)、對(duì)齊并注釋各條件。 v變量定義最好通過添加空格形成對(duì)齊,同一類型變量定義最好通過添加空格形成對(duì)齊,同一類型的變量應(yīng)放在一起的變量應(yīng)放在一起 例/*變量對(duì)齊變量對(duì)齊-*/ 代碼對(duì)齊和間隔示例代碼對(duì)齊和間隔示例 int count = 100; int length = 0; String strUserName = null; Integer porductCode = new Integer(2); /產(chǎn)品編碼數(shù)組產(chǎn)品編碼數(shù)組 /*參數(shù)對(duì)齊參數(shù)對(duì)齊-*/ public Connecti
10、on getConnection(String url, String userName, String password) throws SQLException,IOException /*換行對(duì)齊換行對(duì)齊-*/ public final static String SQL_SELECT_PRODUCT = “SELECT * “ + “ FROM TProduct WHERE Prod_ID = ” + prodID; /*條件對(duì)齊條件對(duì)齊-*/ if( Condition1 /當(dāng)條件一當(dāng)條件一 & Condition2 /并且條件二并且條件二 | Condition3) /或者
11、條件三或者條件三 /*相應(yīng)獨(dú)立的功能模塊之間可使用注釋行間隔,并標(biāo)明相應(yīng)內(nèi)容相應(yīng)獨(dú)立的功能模塊之間可使用注釋行間隔,并標(biāo)明相應(yīng)內(nèi)容*/for(int i = 0; i productCount.length; /循環(huán)終止條件循環(huán)終止條件 i+) 3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格7 括號(hào)括號(hào) 中的語句應(yīng)該單獨(dú)作為一行,左括號(hào)中的語句應(yīng)該單獨(dú)作為一行,左括號(hào)當(dāng)緊跟當(dāng)緊跟其語句后,右括號(hào)其語句后,右括號(hào)永遠(yuǎn)單獨(dú)作為一行且與其匹永遠(yuǎn)單獨(dú)作為一行且與其匹配行對(duì)齊,并盡量在其后說明其匹配的功能模塊。配行對(duì)齊,并盡量在其后說明其匹配的功能模塊。 較長(zhǎng)的方法以及類、接口等的右括號(hào)后應(yīng)使用較長(zhǎng)的方法以及
12、類、接口等的右括號(hào)后應(yīng)使用/end .等標(biāo)識(shí)其結(jié)束。如等標(biāo)識(shí)其結(jié)束。如: 類的結(jié)束符:類的結(jié)束符:/EOC ClassName, 方法結(jié)束符:方法結(jié)束符:/end methodName(), 功能塊結(jié)束:功能塊結(jié)束:/end if.userName is null? 循環(huán)快結(jié)束:循環(huán)快結(jié)束:/end for.every user in userList 左括號(hào)是否換行等隨個(gè)人習(xí)慣而定,若換行則當(dāng)左括號(hào)是否換行等隨個(gè)人習(xí)慣而定,若換行則當(dāng)與其前導(dǎo)語句首字符對(duì)齊。與其前導(dǎo)語句首字符對(duì)齊。3.3.2注釋注釋3.3.2注釋注釋1基本原則基本原則 (1) 注釋應(yīng)該增加代碼的清晰度。代碼注釋的目的注釋應(yīng)該
13、增加代碼的清晰度。代碼注釋的目的是要使代碼更易于被其他開發(fā)人員等理解。是要使代碼更易于被其他開發(fā)人員等理解。(2) 避免使用裝飾性內(nèi)容。避免使用裝飾性內(nèi)容。 (3) 保持注釋的簡(jiǎn)潔。保持注釋的簡(jiǎn)潔。 (4) 注釋信息不僅要包括代碼的功能,還應(yīng)給出原注釋信息不僅要包括代碼的功能,還應(yīng)給出原因。因。 (5) 不要為注釋而注釋。不要為注釋而注釋。 (6) 除變量定義等較短語句的注釋可用行尾注釋外,除變量定義等較短語句的注釋可用行尾注釋外,其他注釋當(dāng)避免使用行尾注釋。其他注釋當(dāng)避免使用行尾注釋。 3.3.2注釋注釋2文件注釋文件注釋 在每個(gè)文件的頭部都應(yīng)該包含該文件的功能、在每個(gè)文件的頭部都應(yīng)該包含該
14、文件的功能、作用、作者、版權(quán)以及創(chuàng)建、修改記錄等。作用、作者、版權(quán)以及創(chuàng)建、修改記錄等。/* = * FileName: helloworld.java * Created: 2006-9-6 20:18:53 by 彭輝彭輝 * = * Copyright: Copyright (c)成都信息工程學(xué)院成都信息工程學(xué)院, 2005-2006* = * Description: 在這兒對(duì)整個(gè)文件進(jìn)行描述在這兒對(duì)整個(gè)文件進(jìn)行描述* * =Modification History: 對(duì)這個(gè)文件的修改歷史進(jìn)行詳細(xì)描述,一般包括版本,時(shí)間,修對(duì)這個(gè)文件的修改歷史進(jìn)行詳細(xì)描述,一般包括版本,時(shí)間,修 改者
15、,改者, 修修改的內(nèi)容描述,修改的原因。改的內(nèi)容描述,修改的原因。 例如:(例如:(1)V, 2006-9-6, 彭輝彭輝, 創(chuàng)建了此文件創(chuàng)建了此文件* (2) V, 2006-10-20,彭輝,增加了,彭輝,增加了*功能,張山提出的。功能,張山提出的。*/ 3.3.2注釋注釋3類、接口注釋類、接口注釋 在類、接口定義之前當(dāng)對(duì)其進(jìn)行注釋,包括在類、接口定義之前當(dāng)對(duì)其進(jìn)行注釋,包括類、接口的目的、作用、功能、繼承于何種類、接口的目的、作用、功能、繼承于何種父類,實(shí)現(xiàn)的接口、實(shí)現(xiàn)的算法、使用方法、父類,實(shí)現(xiàn)的接口、實(shí)現(xiàn)的算法、使用方法、示例程序等。示例程序等。/* 類名
16、類名: StringUtil 功能功能:定義字符串操作時(shí)所需要用到的方法,如:定義字符串操作時(shí)所需要用到的方法,如 轉(zhuǎn)換中文、轉(zhuǎn)換中文、HTML標(biāo)記處理等。標(biāo)記處理等。 作者作者: 彭輝彭輝版本版本: 1.0版版?zhèn)渥渥ⅲ?/ public class StringUtil 3.3.2注釋注釋4 方法注釋方法注釋 v明確該方法功能、作用、各參數(shù)含義以及明確該方法功能、作用、各參數(shù)含義以及返回值等。返回值等。 v參數(shù)注釋時(shí)當(dāng)注明其取值范圍等。參數(shù)注釋時(shí)當(dāng)注明其取值范圍等。v返回值當(dāng)注釋出失敗、錯(cuò)誤、異常時(shí)的返返回值當(dāng)注釋出失敗、錯(cuò)誤、異常時(shí)的返回情況?;厍闆r。 v異常當(dāng)注釋出什么情況、什么時(shí)候、
17、什么異常當(dāng)注釋出什么情況、什么時(shí)候、什么條件下會(huì)引發(fā)什么樣的異常條件下會(huì)引發(fā)什么樣的異常/* *函數(shù)名函數(shù)名:executeQuery功能功能:該方法根據(jù):該方法根據(jù)SQL語句,查詢數(shù)據(jù)庫,返回它的結(jié)果集語句,查詢數(shù)據(jù)庫,返回它的結(jié)果集 參數(shù)參數(shù):1、sqlin:標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的SQL語句語句 ,不可以為空串,不可以為空串返回值返回值:ResultSet結(jié)果集,若查詢失敗則返回結(jié)果集,若查詢失敗則返回null 異常異常:SQLException ,當(dāng)查詢數(shù)據(jù)庫時(shí)可能引發(fā)此異常,當(dāng)查詢數(shù)據(jù)庫時(shí)可能引發(fā)此異常備注備注: */ public ResultSet executeQuery(String s
18、ql) throws SQLException /Statement和和SQL語句都不能為空語句都不能為空 if(null != stmt & !StringUtil.isEmpty(sql) /返回查詢執(zhí)行結(jié)果返回查詢執(zhí)行結(jié)果 return stmt.executeQuery(sql); return null; /end executeQuery() 3.3.2注釋注釋5 其他注釋其他注釋 v應(yīng)對(duì)重要的變量加以注釋,以說明其含義應(yīng)對(duì)重要的變量加以注釋,以說明其含義等。等。 v應(yīng)對(duì)不易理解的分支條件表達(dá)式加注釋。應(yīng)對(duì)不易理解的分支條件表達(dá)式加注釋。不易理解的循環(huán),應(yīng)說明出口條件。過長(zhǎng)
19、的不易理解的循環(huán),應(yīng)說明出口條件。過長(zhǎng)的方法實(shí)現(xiàn),應(yīng)將其語句按實(shí)現(xiàn)的功能分段加方法實(shí)現(xiàn),應(yīng)將其語句按實(shí)現(xiàn)的功能分段加以概括性說明。以概括性說明。 v對(duì)于異常處理,當(dāng)注明正常情況及異常情對(duì)于異常處理,當(dāng)注明正常情況及異常情況的條件,并說明當(dāng)異常發(fā)生時(shí)程序當(dāng)如何況的條件,并說明當(dāng)異常發(fā)生時(shí)程序當(dāng)如何處理。處理。 注釋在源代碼中的比例一般為注釋在源代碼中的比例一般為20%左右左右3.3.3命名命名 1基本原則基本原則 規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可以提供一些標(biāo)識(shí)功能方面的信息,有助于更好的理解代碼和以提供一些標(biāo)識(shí)功能方面的信息
20、,有助于更好的理解代碼和應(yīng)用。應(yīng)用。 v名字應(yīng)能反映它所代表的實(shí)際東西,應(yīng)有一定實(shí)際意義。名字應(yīng)能反映它所代表的實(shí)際東西,應(yīng)有一定實(shí)際意義。例如,表示次數(shù)的量用例如,表示次數(shù)的量用Times,表示總量的用,表示總量的用Total,表示,表示平均值的用平均值的用Average,表示和的量用,表示和的量用Sum等等v使用可以準(zhǔn)確說明變量使用可以準(zhǔn)確說明變量/字段字段/類類/接口接口/包等的完整的英文描包等的完整的英文描述符。例如,采用類似述符。例如,采用類似 firstName,listAllUsers 或或 CorporateCustomer 這樣的名字,嚴(yán)禁使用漢語拼音及不這樣的名字,嚴(yán)禁使用
21、漢語拼音及不相關(guān)單詞命名。相關(guān)單詞命名。 v采用該領(lǐng)域的術(shù)語。如果用戶稱他們的采用該領(lǐng)域的術(shù)語。如果用戶稱他們的“客戶客戶” (clients) 為為“顧客顧客” (customers),那么就采用術(shù)語,那么就采用術(shù)語 Customer 來來命名這個(gè)類,而不用命名這個(gè)類,而不用 Client。v采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用小寫字母,但是類和接口的名字的首字母,以采用小寫字母,但是類和接口的名字的首字母,以及任何中間單詞的首字母應(yīng)該大寫。及任何中間單詞的首字母應(yīng)該大寫。 v盡量少用縮寫,但如果一定要使用,當(dāng)使用公共盡量少用縮寫,但如果一
22、定要使用,當(dāng)使用公共縮寫和習(xí)慣縮寫等,如實(shí)現(xiàn)(縮寫和習(xí)慣縮寫等,如實(shí)現(xiàn)(implement)可縮寫)可縮寫成成impl,經(jīng)理(,經(jīng)理(manager)可縮寫成)可縮寫成mgr等,嚴(yán)禁等,嚴(yán)禁濫用縮寫。濫用縮寫。v避免使用長(zhǎng)名字(最好不超過避免使用長(zhǎng)名字(最好不超過 25 個(gè)字母)。個(gè)字母)。 v避免使用相似或者僅在大小寫上有區(qū)別的名字。避免使用相似或者僅在大小寫上有區(qū)別的名字。 3.3.3命名命名 2類、接口類、接口 所有單詞首字母大寫。使用能確切反應(yīng)該類、所有單詞首字母大寫。使用能確切反應(yīng)該類、接口含義、功能等的詞。一般采用名詞。接口含義、功能等的詞。一般采用名詞。例:例:class Str
23、ingList 3 常量常量 采用完整的英文大寫單詞,在詞與詞之間用采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,如:下劃線連接,如:Static final int DEFAULT_VALUE = 10; 3.3.3命名命名 4 變量和參數(shù)變量和參數(shù) 變量命名由(變量命名由(前綴前綴+修飾語修飾語)構(gòu)成?,F(xiàn)在比較流行的是一套)構(gòu)成。現(xiàn)在比較流行的是一套由微軟的一個(gè)匈牙利軟件工程師首先使用,并且在微軟推廣由微軟的一個(gè)匈牙利軟件工程師首先使用,并且在微軟推廣開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。匈牙利命名匈牙利命名法規(guī)定法規(guī)定,使用表示標(biāo)識(shí)符所對(duì)
24、應(yīng)的變量類型的英文小寫縮寫,使用表示標(biāo)識(shí)符所對(duì)應(yīng)的變量類型的英文小寫縮寫作為標(biāo)識(shí)符的前綴,后面在使用表示變量意義的英文單詞或作為標(biāo)識(shí)符的前綴,后面在使用表示變量意義的英文單詞或縮寫進(jìn)行命名。下面是匈牙利命名法中的一些命名前綴:縮寫進(jìn)行命名。下面是匈牙利命名法中的一些命名前綴:(1)類型前綴:用)類型前綴:用s(String)表示字符串表示字符串, c(char)表示字符表示字符, n(number)數(shù)值數(shù)值, i(intger)表示整數(shù)表示整數(shù), d(double)表示雙精度表示雙精度,f (float)浮點(diǎn)型浮點(diǎn)型, b(bool)布爾型布爾型, dt(date)表示日期型表示日期型.例如:
25、例如:iLength表示整型的局域變量表示整型的局域變量,是用來標(biāo)識(shí)長(zhǎng)度是用來標(biāo)識(shí)長(zhǎng)度的的.sCode表示字符串型的局域變量表示字符串型的局域變量,用來標(biāo)識(shí)代碼。用來標(biāo)識(shí)代碼。bFlag, nCount;3.3.3命名命名 5 組件組件/部件部件 v應(yīng)采用完整的英文描述符命名組件(接口部件),遵循應(yīng)采用完整的英文描述符命名組件(接口部件),遵循匈牙利命名法則匈牙利命名法則 如:如:btnOK,lblName。 v控件命名由(控件命名由(前綴前綴+修飾語修飾語)構(gòu)成。前綴即為控件的名)構(gòu)成。前綴即為控件的名稱或縮寫。稱或縮寫??丶N類控件種類前綴前綴例例命令按鈕命令按鈕btnbtnSave組合框
26、組合框cmb cmbCondition文本框文本框txttxtUserName標(biāo)簽標(biāo)簽lbllblOpenDate列表框列表框 lst lstSelectedItem檢查框檢查框chkchkKey3.3.3命名命名 6 方法方法 方法的命名應(yīng)采用完整的英文描述符,大小寫混合方法的命名應(yīng)采用完整的英文描述符,大小寫混合使用:所有中間單詞的第一個(gè)字母大寫。方法名稱使用:所有中間單詞的第一個(gè)字母大寫。方法名稱的第一個(gè)單詞常常采用一個(gè)有強(qiáng)烈動(dòng)作色彩的動(dòng)詞。的第一個(gè)單詞常常采用一個(gè)有強(qiáng)烈動(dòng)作色彩的動(dòng)詞。 取值類使用取值類使用get前綴,設(shè)值類使用前綴,設(shè)值類使用set前綴,判斷類前綴,判斷類使用使用is
27、(has)前綴。前綴。 例:例: getName() setSarry() isLogin()checkUser() 3.3.4 聲明聲明 1 方法方法 良好的程序設(shè)計(jì)應(yīng)該盡可能減小類與類之間耦合,所遵循的良好的程序設(shè)計(jì)應(yīng)該盡可能減小類與類之間耦合,所遵循的經(jīng)驗(yàn)法則是:經(jīng)驗(yàn)法則是:盡量限制成員函數(shù)的可見性盡量限制成員函數(shù)的可見性。如果成員函數(shù)沒。如果成員函數(shù)沒必要公有必要公有 (public),就定義為保護(hù),就定義為保護(hù) (protected);沒必要保;沒必要保護(hù)護(hù) (protected),就定義為私有,就定義為私有 (private)。聲明順序聲明順序: v構(gòu)造方法構(gòu)造方法 v靜態(tài)公共方法
28、靜態(tài)公共方法 v靜態(tài)私有方法靜態(tài)私有方法 v公共方法公共方法v受保護(hù)方法受保護(hù)方法 v私有方法私有方法 3.3.4 聲明聲明 2 字段(成員變量)字段(成員變量) v若沒有足夠理由,不要把實(shí)例變量或類變量聲明若沒有足夠理由,不要把實(shí)例變量或類變量聲明為公有。公共和保護(hù)的可見性應(yīng)當(dāng)盡量避免,所有為公有。公共和保護(hù)的可見性應(yīng)當(dāng)盡量避免,所有的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)(Getter、Setter)訪問。)訪問。 v不允許不允許“隱藏隱藏”字段,即給局部變量所取的名字,字段,即給局部變量所取的名字,不可與另一個(gè)更大范圍內(nèi)定義的字段的名字相同不可
29、與另一個(gè)更大范圍內(nèi)定義的字段的名字相同(或相似)。例如,如果把一個(gè)字段叫做(或相似)。例如,如果把一個(gè)字段叫做 firstName ,就不要再生成一個(gè)局部變量叫做,就不要再生成一個(gè)局部變量叫做 firstName,或者任何易混淆的名字,如,或者任何易混淆的名字,如 fistName。 v一行代碼只聲明一個(gè)變量,僅將一個(gè)變量用于一一行代碼只聲明一個(gè)變量,僅將一個(gè)變量用于一件事。件事。 3.3.4 聲明聲明 聲明順序聲明順序: v常量常量 v類變量類變量 v公有字段公有字段 v受保護(hù)字段受保護(hù)字段 v私有字段私有字段4.3 代碼版本控制代碼版本控制 主流版本控制軟件介紹:主流版本控制軟件介紹:v
30、Borland Starteam 是一個(gè)集合了版本控制、構(gòu)建管理(是一個(gè)集合了版本控制、構(gòu)建管理(Build Management)和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強(qiáng)大的圖形界面,易和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強(qiáng)大的圖形界面,易學(xué)易用;但管理復(fù)雜、維護(hù)困難。學(xué)易用;但管理復(fù)雜、維護(hù)困難。vPVCS Version Manager 是美國的是美國的MERANT公司軟件配置管理工具公司軟件配置管理工具PVCS 家族中的家族中的一個(gè)組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應(yīng)用文件、一個(gè)組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應(yīng)用文件、圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),對(duì)多個(gè)軟件版本的變更進(jìn)行有效的控制管理。對(duì)多個(gè)軟件版本的變更進(jìn)行有效的控制管理。vClearCase 是是IBM ROSE構(gòu)件的一部分,主要應(yīng)用于復(fù)雜的產(chǎn)品發(fā)放、構(gòu)件的一部分,主要應(yīng)用于復(fù)雜的產(chǎn)品發(fā)放、分布式團(tuán)隊(duì)合作、并行的開發(fā)和維護(hù)任務(wù)。可以控制分布式團(tuán)隊(duì)合作、并行的開發(fā)和維護(hù)任務(wù)??梢钥刂苭ord, e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)機(jī)器質(zhì)押借款合同
- 2025年勞動(dòng)解除合同標(biāo)準(zhǔn)條款
- 2025年抗瘧藥項(xiàng)目申請(qǐng)報(bào)告模范
- 2025年貨車租賃與運(yùn)輸服務(wù)合同樣本
- 2025年國際貨物買賣合同與慣例
- 2025年專業(yè)清潔人員派遣協(xié)議
- 2025年二手車購買合同范本
- 2025年三板市場(chǎng)股權(quán)買賣協(xié)議
- 2025年伙伴開設(shè)教育機(jī)構(gòu)合作協(xié)議書模板
- 2025年繼電器研發(fā)策劃技術(shù)協(xié)議書范本
- 河南2025年河南職業(yè)技術(shù)學(xué)院招聘30人筆試歷年參考題庫附帶答案詳解
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(頻考版)含答案解析
- 生物-遼寧省大連市2024-2025學(xué)年高三上學(xué)期期末雙基測(cè)試卷及答案
- Unit 4 A glimpse of the future 說課稿-2023-2024學(xué)年高二下學(xué)期英語外研版(2019)選擇性必修第三冊(cè)001
- 加氣站安全課件
- 《民營(yíng)企業(yè)清廉建設(shè)評(píng)價(jià)規(guī)范》
- 智能RPA財(cái)務(wù)機(jī)器人開發(fā)教程-基于來也UiBot 課件 第2章-常用機(jī)器人流程自動(dòng)化
- 公務(wù)車輛定點(diǎn)加油服務(wù)投標(biāo)文件(技術(shù)方案)
- 安徽工程大學(xué)《回歸分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 讀書分享《給教師的建議》課件
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題講座
評(píng)論
0/150
提交評(píng)論