版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件制造工程軟件制造工程 第四章第四章 編程編程 第四章第四章 軟件編程軟件編程v選擇程序設(shè)計語言選擇程序設(shè)計語言v編碼規(guī)范編碼規(guī)范v代碼版本控制代碼版本控制4.1 選擇程序設(shè)計語言選擇程序設(shè)計語言v有多少種編程語言?各編程語言的流行度有多少種編程語言?各編程語言的流行度(所所占的市場份額占的市場份額)?vTIOBE組織,對組織,對20多種語言進(jìn)行統(tǒng)計排行多種語言進(jìn)行統(tǒng)計排行網(wǎng)址:網(wǎng)址: http:/ 劃代劃代語言語言特點特點級別級別1GL機(jī)器語言機(jī)器語言程序不直觀,編程出錯率高程序不直觀,編程出錯率高運行效率高,使用運行效率高,使用CPU硬件硬件低級低級2GL匯編語言匯編語言比機(jī)器語言直觀,
2、減少了出錯率比機(jī)器語言直觀,減少了出錯率與機(jī)器碼一樣長與機(jī)器碼一樣長使用于嵌入式開發(fā),驅(qū)動程序使用于嵌入式開發(fā),驅(qū)動程序3GL面向過程語言,面向過程語言,C語法簡潔,速度快,使用嵌入式語法簡潔,速度快,使用嵌入式,驅(qū)動程序,系統(tǒng)軟件,服務(wù)器,驅(qū)動程序,系統(tǒng)軟件,服務(wù)器程序程序高級高級4GL面向?qū)ο笳Z言,面向?qū)ο笳Z言,JAVA,C#, C+Java:虛擬機(jī),跨平臺,垃圾回虛擬機(jī),跨平臺,垃圾回收機(jī)制,使用收機(jī)制,使用Web應(yīng)用程序,信應(yīng)用程序,信息管理系統(tǒng)息管理系統(tǒng)C#:微軟平臺微軟平臺,垃圾回收機(jī)制垃圾回收機(jī)制C+:自己管理內(nèi)存,速度快,自己管理內(nèi)存,速度快,C/S結(jié)構(gòu)程序,服務(wù)器程序結(jié)構(gòu)程序
3、,服務(wù)器程序4.1 選擇程序設(shè)計語言選擇程序設(shè)計語言v個人如何選擇程序設(shè)計語言?個人如何選擇程序設(shè)計語言?v根據(jù)愛好,選擇一個根據(jù)愛好,選擇一個TOP6的語言的語言v至少要精通一門語言至少要精通一門語言(很重要)很重要)v如何精通一門語言?如何精通一門語言? 知道食譜不一定成為名廚,沒有捷徑,必須知道食譜不一定成為名廚,沒有捷徑,必須不斷實踐不斷實踐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因個人習(xí)慣和編輯器等可以設(shè)置和形成自因個人習(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)過深時將子功能塊提取出來做為當(dāng)功能塊過多而導(dǎo)致縮進(jìn)過深時將子功能塊提取出來做為子函數(shù)。子函數(shù)。 v代碼中以代碼中以TAB(4個字符)縮進(jìn),在編輯器中請將個字符)縮進(jìn),在編輯器中請將TAB設(shè)設(shè)置
5、為以空格替代,否則在不同編輯器或設(shè)置下會導(dǎo)致置為以空格替代,否則在不同編輯器或設(shè)置下會導(dǎo)致TAB長度不等而影響整個程序代碼的格式。例如:長度不等而影響整個程序代碼的格式。例如: 縮進(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長度長度 v為便于閱讀和理解,單個函數(shù)的有效代碼長度當(dāng)為便于閱讀和理解,單個函數(shù)的有效代碼長度當(dāng)盡量控制在盡量控制在100行以內(nèi)(不包括注釋行),當(dāng)一行以內(nèi)(不包括注釋行),當(dāng)一個功能模塊過大
6、時往往造成閱讀困難,因此當(dāng)使個功能模塊過大時往往造成閱讀困難,因此當(dāng)使用子函數(shù)等將相應(yīng)功能抽取出來,這也有利于提用子函數(shù)等將相應(yīng)功能抽取出來,這也有利于提高代碼的重用度。高代碼的重用度。 v單個類也不宜過大,當(dāng)出現(xiàn)此類情況時當(dāng)將相應(yīng)單個類也不宜過大,當(dāng)出現(xiàn)此類情況時當(dāng)將相應(yīng)功能的代碼重構(gòu)到其他類中,通過組合等方式來功能的代碼重構(gòu)到其他類中,通過組合等方式來調(diào)用,建議單個類的長度包括注釋行不超過調(diào)用,建議單個類的長度包括注釋行不超過1500行。行。 v盡量避免使用大類和長方法。盡量避免使用大類和長方法。3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格4行寬行寬 頁寬應(yīng)該設(shè)置為頁寬應(yīng)該設(shè)置為80字符。一般
7、不要超過這個字符。一般不要超過這個寬度寬度, 這會導(dǎo)致在某些機(jī)器中無法以一屏來這會導(dǎo)致在某些機(jī)器中無法以一屏來完整顯示完整顯示, 但這一設(shè)置也可以靈活調(diào)整。在但這一設(shè)置也可以靈活調(diào)整。在任何情況下任何情況下, 超長的語句應(yīng)該在一個逗號后超長的語句應(yīng)該在一個逗號后或一個操作符前折行。一條語句折行后或一個操作符前折行。一條語句折行后, 應(yīng)應(yīng)該比原來的語句再縮進(jìn)一個該比原來的語句再縮進(jìn)一個TAB或或4個空格,個空格,以便于閱讀。以便于閱讀。 3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格5間隔間隔 v 類、方法及功能塊間等應(yīng)以空行相隔,以類、方法及功能塊間等應(yīng)以空行相隔,以增加可讀性,但不得有無規(guī)則的大片
8、空行。增加可讀性,但不得有無規(guī)則的大片空行。 v 操作符兩端應(yīng)當(dāng)各空一個字符以增加可讀操作符兩端應(yīng)當(dāng)各空一個字符以增加可讀性。性。 v 相應(yīng)獨立的功能模塊之間可使用注釋行間相應(yīng)獨立的功能模塊之間可使用注釋行間隔,并標(biāo)明相應(yīng)內(nèi)容隔,并標(biāo)明相應(yīng)內(nèi)容 例3.3.1 代碼組織與風(fēng)格代碼組織與風(fēng)格6 對齊對齊 v關(guān)系密切的行應(yīng)對齊,對齊包括類型、修飾、名關(guān)系密切的行應(yīng)對齊,對齊包括類型、修飾、名稱、參數(shù)等各部分對齊。稱、參數(shù)等各部分對齊。 v連續(xù)賦值時當(dāng)對齊操作符。連續(xù)賦值時當(dāng)對齊操作符。 v當(dāng)方法參數(shù)過多時當(dāng)在每個參數(shù)后(逗號后)換當(dāng)方法參數(shù)過多時當(dāng)在每個參數(shù)后(逗號后)換行并對齊。行并對齊。 v當(dāng)控
9、制或循環(huán)中的條件比較長時當(dāng)換行(操作符當(dāng)控制或循環(huán)中的條件比較長時當(dāng)換行(操作符前)、對齊并注釋各條件。前)、對齊并注釋各條件。 v變量定義最好通過添加空格形成對齊,同一類型變量定義最好通過添加空格形成對齊,同一類型的變量應(yīng)放在一起的變量應(yīng)放在一起 例/*變量對齊變量對齊-*/ 代碼對齊和間隔示例代碼對齊和間隔示例 int count = 100; int length = 0; String strUserName = null; Integer porductCode = new Integer(2); /產(chǎn)品編碼數(shù)組產(chǎn)品編碼數(shù)組 /*參數(shù)對齊參數(shù)對齊-*/ public Connecti
10、on getConnection(String url, String userName, String password) throws SQLException,IOException /*換行對齊換行對齊-*/ public final static String SQL_SELECT_PRODUCT = “SELECT * “ + “ FROM TProduct WHERE Prod_ID = ” + prodID; /*條件對齊條件對齊-*/ if( Condition1 /當(dāng)條件一當(dāng)條件一 & Condition2 /并且條件二并且條件二 | Condition3) /或者
11、條件三或者條件三 /*相應(yīng)獨立的功能模塊之間可使用注釋行間隔,并標(biāo)明相應(yīng)內(nèi)容相應(yīng)獨立的功能模塊之間可使用注釋行間隔,并標(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 括號括號 中的語句應(yīng)該單獨作為一行,左括號中的語句應(yīng)該單獨作為一行,左括號當(dāng)緊跟當(dāng)緊跟其語句后,右括號其語句后,右括號永遠(yuǎn)單獨作為一行且與其匹永遠(yuǎn)單獨作為一行且與其匹配行對齊,并盡量在其后說明其匹配的功能模塊。配行對齊,并盡量在其后說明其匹配的功能模塊。 較長的方法以及類、接口等的右括號后應(yīng)使用較長的方法以及
12、類、接口等的右括號后應(yīng)使用/end .等標(biāo)識其結(jié)束。如等標(biāo)識其結(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 左括號是否換行等隨個人習(xí)慣而定,若換行則當(dāng)左括號是否換行等隨個人習(xí)慣而定,若換行則當(dāng)與其前導(dǎo)語句首字符對齊。與其前導(dǎo)語句首字符對齊。3.3.2注釋注釋3.3.2注釋注釋1基本原則基本原則 (1) 注釋應(yīng)該增加代碼的清晰度。代碼注釋的目的注釋應(yīng)該
13、增加代碼的清晰度。代碼注釋的目的是要使代碼更易于被其他開發(fā)人員等理解。是要使代碼更易于被其他開發(fā)人員等理解。(2) 避免使用裝飾性內(nèi)容。避免使用裝飾性內(nèi)容。 (3) 保持注釋的簡潔。保持注釋的簡潔。 (4) 注釋信息不僅要包括代碼的功能,還應(yīng)給出原注釋信息不僅要包括代碼的功能,還應(yīng)給出原因。因。 (5) 不要為注釋而注釋。不要為注釋而注釋。 (6) 除變量定義等較短語句的注釋可用行尾注釋外,除變量定義等較短語句的注釋可用行尾注釋外,其他注釋當(dāng)避免使用行尾注釋。其他注釋當(dāng)避免使用行尾注釋。 3.3.2注釋注釋2文件注釋文件注釋 在每個文件的頭部都應(yīng)該包含該文件的功能、在每個文件的頭部都應(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: 在這兒對整個文件進(jìn)行描述在這兒對整個文件進(jìn)行描述* * =Modification History: 對這個文件的修改歷史進(jìn)行詳細(xì)描述,一般包括版本,時間,修對這個文件的修改歷史進(jìn)行詳細(xì)描述,一般包括版本,時間,修 改者
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)對其進(jìn)行注釋,包括在類、接口定義之前當(dāng)對其進(jìn)行注釋,包括類、接口的目的、作用、功能、繼承于何種類、接口的目的、作用、功能、繼承于何種父類,實現(xiàn)的接口、實現(xiàn)的算法、使用方法、父類,實現(xiàn)的接口、實現(xiàn)的算法、使用方法、示例程序等。示例程序等。/* 類名
16、類名: StringUtil 功能功能:定義字符串操作時所需要用到的方法,如:定義字符串操作時所需要用到的方法,如 轉(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ù)注釋時當(dāng)注明其取值范圍等。參數(shù)注釋時當(dāng)注明其取值范圍等。v返回值當(dāng)注釋出失敗、錯誤、異常時的返返回值當(dāng)注釋出失敗、錯誤、異常時的返回情況?;厍闆r。 v異常當(dāng)注釋出什么情況、什么時候、
17、什么異常當(dāng)注釋出什么情況、什么時候、什么條件下會引發(fā)什么樣的異常條件下會引發(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ù)庫時可能引發(fā)此異常,當(dāng)查詢數(shù)據(jù)庫時可能引發(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)對重要的變量加以注釋,以說明其含義應(yīng)對重要的變量加以注釋,以說明其含義等。等。 v應(yīng)對不易理解的分支條件表達(dá)式加注釋。應(yīng)對不易理解的分支條件表達(dá)式加注釋。不易理解的循環(huán),應(yīng)說明出口條件。過長
19、的不易理解的循環(huán),應(yīng)說明出口條件。過長的方法實現(xiàn),應(yīng)將其語句按實現(xiàn)的功能分段加方法實現(xiàn),應(yīng)將其語句按實現(xiàn)的功能分段加以概括性說明。以概括性說明。 v對于異常處理,當(dāng)注明正常情況及異常情對于異常處理,當(dāng)注明正常情況及異常情況的條件,并說明當(dāng)異常發(fā)生時程序當(dāng)如何況的條件,并說明當(dāng)異常發(fā)生時程序當(dāng)如何處理。處理。 注釋在源代碼中的比例一般為注釋在源代碼中的比例一般為20%左右左右3.3.3命名命名 1基本原則基本原則 規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可以提供一些標(biāo)識功能方面的信息,有助于更好的理解代碼和以提供一些標(biāo)識功能方面的信息
20、,有助于更好的理解代碼和應(yīng)用。應(yīng)用。 v名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定實際意義。名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定實際意義。例如,表示次數(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 來來命名這個類,而不用命名這個類,而不用 Client。v采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用小寫字母,但是類和接口的名字的首字母,以采用小寫字母,但是類和接口的名字的首字母,以及任何中間單詞的首字母應(yīng)該大寫。及任何中間單詞的首字母應(yīng)該大寫。 v盡量少用縮寫,但如果一定要使用,當(dāng)使用公共盡量少用縮寫,但如果一
22、定要使用,當(dāng)使用公共縮寫和習(xí)慣縮寫等,如實現(xiàn)(縮寫和習(xí)慣縮寫等,如實現(xiàn)(implement)可縮寫)可縮寫成成impl,經(jīng)理(,經(jīng)理(manager)可縮寫成)可縮寫成mgr等,嚴(yán)禁等,嚴(yán)禁濫用縮寫。濫用縮寫。v避免使用長名字(最好不超過避免使用長名字(最好不超過 25 個字母)。個字母)。 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)在比較流行的是一套由微軟的一個匈牙利軟件工程師首先使用,并且在微軟推廣由微軟的一個匈牙利軟件工程師首先使用,并且在微軟推廣開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。匈牙利命名匈牙利命名法規(guī)定法規(guī)定,使用表示標(biāo)識符所對
24、應(yīng)的變量類型的英文小寫縮寫,使用表示標(biāo)識符所對應(yīng)的變量類型的英文小寫縮寫作為標(biāo)識符的前綴,后面在使用表示變量意義的英文單詞或作為標(biāo)識符的前綴,后面在使用表示變量意義的英文單詞或縮寫進(jìn)行命名。下面是匈牙利命名法中的一些命名前綴:縮寫進(jìn)行命名。下面是匈牙利命名法中的一些命名前綴:(1)類型前綴:用)類型前綴:用s(String)表示字符串表示字符串, c(char)表示字符表示字符, n(number)數(shù)值數(shù)值, i(intger)表示整數(shù)表示整數(shù), d(double)表示雙精度表示雙精度,f (float)浮點型浮點型, b(bool)布爾型布爾型, dt(date)表示日期型表示日期型.例如:
25、例如:iLength表示整型的局域變量表示整型的局域變量,是用來標(biāo)識長度是用來標(biāo)識長度的的.sCode表示字符串型的局域變量表示字符串型的局域變量,用來標(biāo)識代碼。用來標(biāo)識代碼。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)采用完整的英文描述符,大小寫混合使用:所有中間單詞的第一個字母大寫。方法名稱使用:所有中間單詞的第一個字母大寫。方法名稱的第一個單詞常常采用一個有強(qiáng)烈動作色彩的動詞。的第一個單詞常常采用一個有強(qiáng)烈動作色彩的動詞。 取值類使用取值類使用get前綴,設(shè)值類使用前綴,設(shè)值類使用set前綴,判斷類前綴,判斷類使用使用is
27、(has)前綴。前綴。 例:例: getName() setSarry() isLogin()checkUser() 3.3.4 聲明聲明 1 方法方法 良好的程序設(shè)計應(yīng)該盡可能減小類與類之間耦合,所遵循的良好的程序設(shè)計應(yīng)該盡可能減小類與類之間耦合,所遵循的經(jīng)驗法則是:經(jīng)驗法則是:盡量限制成員函數(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若沒有足夠理由,不要把實例變量或類變量聲明若沒有足夠理由,不要把實例變量或類變量聲明為公有。公共和保護(hù)的可見性應(yīng)當(dāng)盡量避免,所有為公有。公共和保護(hù)的可見性應(yīng)當(dāng)盡量避免,所有的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)(Getter、Setter)訪問。)訪問。 v不允許不允許“隱藏隱藏”字段,即給局部變量所取的名字,字段,即給局部變量所取的名字,不可與另一個更大范圍內(nèi)定義的字段的名字相同不可
29、與另一個更大范圍內(nèi)定義的字段的名字相同(或相似)。例如,如果把一個字段叫做(或相似)。例如,如果把一個字段叫做 firstName ,就不要再生成一個局部變量叫做,就不要再生成一個局部變量叫做 firstName,或者任何易混淆的名字,如,或者任何易混淆的名字,如 fistName。 v一行代碼只聲明一個變量,僅將一個變量用于一一行代碼只聲明一個變量,僅將一個變量用于一件事。件事。 3.3.4 聲明聲明 聲明順序聲明順序: v常量常量 v類變量類變量 v公有字段公有字段 v受保護(hù)字段受保護(hù)字段 v私有字段私有字段4.3 代碼版本控制代碼版本控制 主流版本控制軟件介紹:主流版本控制軟件介紹:1.
30、 Borland Starteam 是一個集合了版本控制、構(gòu)建管理(是一個集合了版本控制、構(gòu)建管理(Build Management)和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強(qiáng)大的圖形界面,易和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強(qiáng)大的圖形界面,易學(xué)易用;但管理復(fù)雜、維護(hù)困難。學(xué)易用;但管理復(fù)雜、維護(hù)困難。2.PVCS Version Manager 是美國的是美國的MERANT公司軟件配置管理工具公司軟件配置管理工具PVCS 家族中的家族中的一個組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應(yīng)用文件、一個組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應(yīng)用文件、圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),對多個軟件版本的變更進(jìn)行有效的控制管理。對多個軟件版本的變更進(jìn)行有效的控制管理。3.ClearCase 是是IBM ROSE構(gòu)件的一部分,主要應(yīng)用于復(fù)雜的產(chǎn)品發(fā)放、構(gòu)件的一部分,主要應(yīng)用于復(fù)雜的產(chǎn)品發(fā)放、分布式團(tuán)隊合作、并行的開發(fā)和維護(hù)任務(wù)??梢钥刂品植际綀F(tuán)隊合作、并行的開發(fā)和維護(hù)任務(wù)??梢钥刂苭ord, exce
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度設(shè)施農(nóng)業(yè)種植與銷售合同3篇
- 2025農(nóng)村自建房綠色建材采購與應(yīng)用合同
- 二零二五年度兼職業(yè)務(wù)員客戶滿意度調(diào)查合同3篇
- 2025年度公司解除與因自然災(zāi)害影響員工勞動合同證明3篇
- 二零二五年度環(huán)保材料研發(fā)與應(yīng)用股東合伙人協(xié)議3篇
- 2025技術(shù)培訓(xùn)合同范本
- 2025年度創(chuàng)意產(chǎn)業(yè)園區(qū)商鋪租賃管理協(xié)議3篇
- 2025年度礦山礦產(chǎn)資源勘查與開發(fā)利用合作協(xié)議3篇
- 二零二五年度地質(zhì)勘探駕駛員聘用合同協(xié)議書3篇
- 二零二五年度市政工程機(jī)械租賃與施工合同3篇
- 后勤外包服務(wù)保密管理制度范文
- 小學(xué)國慶節(jié)主題活動方案設(shè)計(四篇)
- 行政事業(yè)單位內(nèi)部控制培訓(xùn)課件
- 2009別克昂科雷維修手冊gd扉頁
- 數(shù)字化轉(zhuǎn)型對企業(yè)創(chuàng)新能力的影響研究
- 替人追款協(xié)議書
- 六西格瑪(6Sigma)詳解及實際案例分析
- 周期性麻痹-課件
- 《推進(jìn)家政服務(wù)提質(zhì)擴(kuò)容:家政服務(wù)業(yè)發(fā)展典型案例匯編》讀書筆記模板
- XX半導(dǎo)體公司廠務(wù)工程項目管理制度規(guī)定
- 檢測與轉(zhuǎn)換技術(shù)課后習(xí)題和例題解答
評論
0/150
提交評論