軟件設(shè)計與體系結(jié)構(gòu)考試重點_第1頁
軟件設(shè)計與體系結(jié)構(gòu)考試重點_第2頁
軟件設(shè)計與體系結(jié)構(gòu)考試重點_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2人月神話提出兩條著名的法則 :1.人月神話:向一個已經(jīng)延后的項目中投入更多的 人力資源,只會讓他更延后。2.沒有銀彈:沒有一種策略技術(shù)技巧可以極大地提高程序員的 生產(chǎn)力。15軟件設(shè)計的一般過程I 丿八時丿11廠 >XJ jLI JH卡K.喘裕電明一|11fit 廿JX.J<1-,-,I 10 J MIJW H rl dMIWIT ITT - 匚J /I k LI Him LM1*!4 2 乜凰計的一最過祥榨架f亠 ,M -1 T砒LF 於即構(gòu)潔十1H求亞化>r-11'"1311E3 丿JX,K一展-計對商電需案術(shù)+J 層:fix|*博4-1卷件訛沐眈魅代1

2、6. 軟件設(shè)計的主要活動1)軟件設(shè)計計劃2)體系結(jié)構(gòu)設(shè)計3)界面設(shè)計4)模塊/子系統(tǒng)設(shè)計5)過程/算法設(shè)計6)數(shù)據(jù)模型設(shè)計17.道輯視圖開發(fā)祓圖物理觀闖18.軟件可信性質(zhì)有以下幾種。(1) 可能性:在規(guī)定的環(huán)境下、規(guī)定的時間內(nèi)軟件無失效運行的能力。(2) 可靠安全性:軟件運行不引起危險、災(zāi)難的能力。(3) 保密安全性:軟件系統(tǒng)對數(shù)據(jù)和信息提供保密性、完整性、可用性、真實性保障的能力。(4) 生存性;軟件在受到攻擊或出現(xiàn)失效時連續(xù)提供服務(wù)并在規(guī)定時間內(nèi)恢復(fù)所有服務(wù)的能 力。(5) 容錯性 : 軟件在故障 ( 硬件環(huán)境異常 )出現(xiàn)時保證提供服務(wù)的能力。(6) 實時性 ; 軟件在指定的時間內(nèi)完成反應(yīng)

3、或提交輸出的能力19 什么是軟件體系結(jié)構(gòu)風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)城中系統(tǒng)組織方式的慣用模式。體系結(jié)構(gòu)風(fēng)格定義一個系統(tǒng)家族, 即一個體系結(jié)構(gòu)定義一個詞匯表和一組約束。 詞匯表中包含了一些構(gòu)件和連 接件類型, 而這組約束指出系統(tǒng)是如何將這些構(gòu)件和連接件組合起來的。體系結(jié)構(gòu)風(fēng)格反映了領(lǐng)城中眾多系統(tǒng)所共有的結(jié)構(gòu)和諧義特征, 并指導(dǎo)如何將各個模塊和子系統(tǒng)有效地組織成 一個完整的系統(tǒng)、 按這種方式理解、 軟件體系結(jié)構(gòu)風(fēng)格定義了用于描述系統(tǒng)的術(shù)語表和一組 指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則。20 黑板風(fēng)格的體系結(jié)構(gòu)的優(yōu)點如下 :(1) 便于多客戶共享大量數(shù)據(jù)。他們不用關(guān)心數(shù)據(jù)是何時出現(xiàn)的、誰提供的,以及怎樣

4、提供 的。(2) 既便于添加新的作為知識源代理的應(yīng)用程序也便于擴展共享的黑板數(shù)據(jù)結(jié)構(gòu)。(3) 可重用的知識源。(4) 支持容錯性和健壯性。黑板風(fēng)格的體系結(jié)構(gòu)的缺點如下 :(1) 不同的知識源代理對于共享數(shù)據(jù)結(jié)構(gòu)要達成一致,而且,這造成了對黑板數(shù)據(jù)結(jié)構(gòu)進行 修改較為困難。(2) 需要一定的同步鎖機制保證數(shù)據(jù)結(jié)構(gòu)的完整性和致性 , 增加了系統(tǒng)復(fù)雜度。(3) 測試?yán)щy (4) 不能保證有好的求解方案。 (5) 低效。 (6) 開發(fā)成本高。21. C/S 風(fēng)格優(yōu)缺點優(yōu)點 主要在系統(tǒng)的客戶端應(yīng)用程序和服務(wù)器構(gòu)件分別運行在不同的計算機上, 系統(tǒng)中的每臺 服務(wù)器都可以適合各構(gòu)件的要求,這對于硬件與軟件的變化

5、顯示出極大的適應(yīng)性和靈活性, 而且易于對系統(tǒng)進行擴充和縮小。 在 C/S 體系結(jié)構(gòu)中, 系統(tǒng)中的功能件充分隔離。 客戶端應(yīng) 用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析, 而數(shù)據(jù)庫服務(wù)器的開發(fā)則集中數(shù)據(jù)的管理, 不必在 每一個新的應(yīng)用程序中都對一個DBMS進行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計算機上,可以節(jié)約大量費用。缺點:(1) 開發(fā)成本較高。 (2) 客戶端程序設(shè)計復(fù)雜。 (3) 信息內(nèi)容和形式單一。(4) 用戶界面風(fēng)格不一,使用繁雜 ,不利于推廣使用。 (5) 軟件移植困難。(6) 軟件維護與升級困難。 (7) 新技術(shù)不能輕易應(yīng)用。22. 三層C/S結(jié)構(gòu)風(fēng)格1 表示層 2 功

6、能層 3 數(shù)據(jù)層23. 三層 C/S 結(jié)構(gòu)的優(yōu)點與傳統(tǒng)的二層結(jié)構(gòu)相比,三層C/S結(jié)構(gòu)具有以下優(yōu)點:(1) 允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對獨立性,從而使整個系統(tǒng)的邏 輯結(jié)構(gòu)更為清晰,能提高系統(tǒng)與軟件的可維護性和可擴展性。(2) 允許更靈活、 有效地選用相應(yīng)的平臺與硬件系統(tǒng) ,使之在處理負(fù)荷能力上與處理特性上分 別適應(yīng)于結(jié)構(gòu)清晰的三層 , 并且這些平臺與各個組成部分可以具有良好的可升級性與開放 性。(3) 在三層 C/S 結(jié)構(gòu)中 , 應(yīng)用的各層可以并行開發(fā),各層也可以選擇各自最適合的開發(fā)語言,使之能并行地而且高效率地進行開發(fā), 達到較高的性能價格比,對每一層的處理邏輯的開發(fā)和維

7、護也會更容易一些。(4) 允許充分利用功能層有效地隔離開表示層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過功能層而利 用數(shù)據(jù)庫工具或黑客手段非法地訪問數(shù)據(jù)層,這就為嚴(yán)格的安全管理奠定了堅實的基礎(chǔ) ; 整 個系統(tǒng)的管理層次也更加合理和可控制。24. C/S/ 與 B/S 混合結(jié)構(gòu)風(fēng)格B/S與C/S混合軟件體系結(jié)構(gòu)是一種典型的異構(gòu)體系結(jié)構(gòu)。優(yōu)點 是外部用戶不直接訪向數(shù)據(jù)庫服務(wù)器。 從而能保證企業(yè)數(shù)據(jù)庫的相對安全。 另外,企業(yè) 內(nèi)部用戶的交互性較強 . 數(shù)據(jù)查詢和修改的響應(yīng)速度較快。缺點 是企業(yè)外部用戶修改和維護數(shù)據(jù)時速度較慢,較煩瑣,數(shù)據(jù)的動態(tài)交互性不強。25. 正交軟件體系結(jié)構(gòu)的概念正交軟件體系結(jié)構(gòu)由組織層和

8、線索的構(gòu)件構(gòu)成。 其中,層是由一組具有相同抽象級別的構(gòu)件 構(gòu)成的,線索是子系統(tǒng)的特例,它由完成不同層次功能的構(gòu)件組成(通過相互調(diào)用來關(guān)聯(lián) ) ,每一條線索完成整個系統(tǒng)中相對獨立的一部分功能。 每條線索的實現(xiàn)與其他線索的實現(xiàn)無關(guān) 或關(guān)聯(lián)很少,在同一層中構(gòu)件之間是不存在相互調(diào)用的。26. 正交軟件體系結(jié)構(gòu)具有以下優(yōu)點 :(1) 結(jié)構(gòu)清晰,易于理解。 (2) 易修改,可維護性強。 (3) 可移植性強,27. 使用異構(gòu)結(jié)構(gòu)的原因(1) 從根本上來說,不同的結(jié)構(gòu)有不同的處理能力的強項和弱點,一個系統(tǒng)的體系結(jié)構(gòu)應(yīng)該 根據(jù)實際需要進行選擇,以解決實際問題。(2) 關(guān)于軟件包、框架通信以及其他一些體系結(jié)構(gòu)上的

9、問題,目前存在多種標(biāo)準(zhǔn),即使在某 段時間內(nèi)某一種標(biāo)準(zhǔn)占統(tǒng)治地位,但變動最終是絕對的。(3) 在實際工作中開發(fā)人員總會遇到一些遺留下來的代碼,它們?nèi)匀挥杏?,但是與新系統(tǒng)有 著某種程度上的不協(xié)調(diào)。 而在許多場合將技術(shù)與經(jīng)濟綜合進行考慮時, 總是決定不再重寫它 們。(4) 即使在某一單位中規(guī)定了共享共同的軟件包或相互關(guān)系的一些標(biāo)準(zhǔn), 仍會存在解釋或表示習(xí)慣上的不同。在 UNIX中就可以發(fā)現(xiàn)這類問題即使規(guī)定用單一的標(biāo)準(zhǔn)(ASCII)來保證過 濾器之間的通信, 但因為不同人對關(guān)于在 ASCII 流中信息如何表示的假設(shè)不同, 不同的過濾 器之間仍可能不協(xié)調(diào)。28. 異構(gòu)體系結(jié)構(gòu)的實例1. “內(nèi)外有別”模型

10、2. “查改有別”模型29. 面向?qū)ο蟮南到y(tǒng)開發(fā)過程概述面向?qū)ο蟮乃枷胍呀?jīng)涉及軟件開發(fā)的各個階段,如面向?qū)ο蠓治?00A)、面向?qū)ο笤O(shè)計(00D)面向?qū)ο缶幊?OOP)。面向?qū)ο蟮南到y(tǒng)開發(fā)生命周期由分析階段、設(shè)計階段、實現(xiàn)階段組成,每個階段都可以相互反饋,整個過程是一種迭代、漸增的開發(fā)過程。1. 首先要進行面向?qū)ο蠓治?,其任?wù)是了解問題域所涉及的對象、對象間的關(guān)系和作用(即操作),針對不同的問題性質(zhì)選擇不同的抽象層次,然后構(gòu)造問題的對象模型,使該模型能 精確地反映所要解決的“實質(zhì)問題” 。2. 其次就是面向?qū)ο笤O(shè)計, 即設(shè)計軟件的對象模刑。 根據(jù)所應(yīng)用的面向?qū)ο筌浖_發(fā)環(huán)境的功能強弱不等, 在

11、對問題的對象模型的分析基礎(chǔ)上, 可能要對它進行一定的改造, 但應(yīng)以改 變原問題域的對象模型最少為原則。然后在軟件系統(tǒng)內(nèi)設(shè)計各個對象對象間的關(guān)系(如層次關(guān)系、繼承關(guān)系等、對象回的通信方式 (如消息模式 )等,總之是設(shè)計各個對象的職責(zé)。3. 最后是面向?qū)ο缶幊蹋?即軟件功能的編碼實現(xiàn), 主要工作包括每個對象的內(nèi)部功能的實現(xiàn) ;確定對象的哪些處理能力在哪些類中進行描述 ; 確定并實現(xiàn)系統(tǒng)的界面、輸出的形式及其他控制機理等,需要實現(xiàn)00D階段規(guī)定的各個對象所應(yīng)完成的任務(wù)。30. 下面給出畫數(shù)據(jù)流圖的一般步驟外部首體的輸出數(shù)據(jù)流與輸入數(shù)居流它們是頂層數(shù)據(jù)流圖由它們確定系統(tǒng)與外界的接口。(3) 從頂層加工

12、出發(fā),逐步細(xì)化,畫出所需的子圖,分析系統(tǒng)的主要處理功能,把每功能作為一個加工,并且確定它們之間的數(shù)據(jù)流入和流出關(guān)系,畫出第一層數(shù)據(jù)流圖。(4) 對當(dāng)前層流圖中的每個加工進行細(xì)化,畫出所需的子圖,直到加工不需要再分解為止。31. 數(shù)據(jù)流圖(2)找出個處理7.1. 1數(shù)攥施圖據(jù)畝圖Mb畑Ftow種建険住術(shù)*能軸彌站的方丈H醫(yī)數(shù)器蘆罠.,.待旳*抓j百.機和:苗姑訕汀拐諷對軌廉養(yǎng)講廳0換陽玷惟*老 卡苦馬比誌峙也':序示,霞誦逬圖握假了彳萍東花if茂元軌-T1 K.(k協(xié)亂"盤収jerL生itibF<宦巾口箱罰業(yè)即桿¥皿工査it麗,才ISAElCifHi疋槍-L*卓

13、匕衛(wèi)片F(xiàn) :- 聲出笙陀里孚.'=牝我卩£麗即肝nwru; 1) c/TYC-"jiyJli十査討褂淡孤呂胖同扎才丸數(shù)據(jù)亞建C變慢成AV>>-+我亍或的養(yǎng)聃.融f*扭川彌關(guān)抵.4t計人“富尸'© J- j Hiirj) r"事-侵i.甘直誹餐希躺A或8flH HA.u-.U? ilt UL 尢鞠城:33.面向數(shù)據(jù)流的需求分析方法步驟(1) 理解當(dāng)前的現(xiàn)實環(huán)境,獲得當(dāng)前人工系統(tǒng)的具體模型。(2) 從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型。事益村路8(3) 分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型。5 9(4

14、) 為目標(biāo)系統(tǒng)的邏輯模型做補充。36.合理的以用戶為中心的界面設(shè)計分為6個階段。第一階段:產(chǎn)品概念的開發(fā)。第二階段:調(diào)查研究和需求分析第三階段:設(shè)計思路和關(guān)鍵屏幕畫面原型。第四階段:反復(fù)的設(shè)計和改進。第五階段:軟件的實現(xiàn)。第六階段:大力推廣39設(shè)計模式的核心思想 是總結(jié)和積累前人成功的設(shè)計經(jīng)驗,通過對這此經(jīng)驗的學(xué)習(xí),使得 人們在面對新的設(shè)計問題時不用再重復(fù)所有的環(huán)節(jié),而是盡量套用已有的模式,以提高編程的效率。模式是解決特定問題的經(jīng)驗,實質(zhì)上是軟件的復(fù)用。模式由特定的環(huán)境、問題以及解決方案3個要素組成,按照軟件開發(fā)的層次可以分為體系結(jié)構(gòu)模式、設(shè)計模式、程序模式。體系結(jié)構(gòu)模式屬于層次較高的模式,設(shè)

15、計模式是對被用來在特定場景下解決一般設(shè)計問題的 類和相互通信的對象的描述。由于在以往的軟件開發(fā)中,設(shè)計者經(jīng)常在某種特定場合中遇到 一些以前經(jīng)常出現(xiàn)或感覺似曾相似的問題,直截了當(dāng)?shù)慕鉀Q方案就是套用原有的經(jīng)過證明的解決方案,或參考別人成熟的思路來解決。長時間下來,通過不斷地完善并文檔化就形成了 針對這種問題的處理模式,形成了特定問題的解決方案。EIB具有以下特點:(1) EJB以構(gòu)件的形式組織服務(wù)器,EJB構(gòu)件是直接用Java語言編寫的服務(wù)器構(gòu)件。 Java語言編寫的跨平臺特性使得 EJB構(gòu)件可以非常方便地移植到各種操作系統(tǒng)平臺和EJB服務(wù)器上。(2) EJB構(gòu)件的實現(xiàn)僅需考慮應(yīng)用需求,其系統(tǒng)級服

16、務(wù)(如事務(wù)管理、安全性、構(gòu)件生命周期與線程等)都是通過EJB服務(wù)器自動進行管理的。(3) EJB體系結(jié)構(gòu)具有面向?qū)ο?、分布式跨平臺、可擴充性、安全性以及便于開發(fā)等特點, 同時它還以協(xié)議為中心,任何協(xié)議都可以被利用。44 EJB 由哪些角色組成 ?其結(jié)構(gòu)的優(yōu)缺點有哪些 ?1 角色1. EJB 組件開發(fā)者 2.應(yīng)用組合者 3. 部署者4. EJB 服務(wù)提供者 5.EJB 容器提供者 6 系統(tǒng)管理者2EJB 構(gòu)件模型的優(yōu)點如下 :(1) EJB 將成為用 Java 語言開發(fā)分布式的、面向?qū)ο蟮钠髽I(yè)級應(yīng)用系統(tǒng)的標(biāo)準(zhǔn)構(gòu)件體系 構(gòu).EJB使得通過組合構(gòu)件得到分布式應(yīng)用系統(tǒng)成為可能(2) EJB 使得應(yīng)用系

17、統(tǒng)開發(fā)變得容易,應(yīng)用系統(tǒng)開發(fā)人員不需要理解底層的事務(wù)處理細(xì)節(jié)、 狀態(tài)管理、多線程、資源共享管理以及其他復(fù)雜的底層 API 細(xì)節(jié)。(3) EJB遵行Java的“一次編譯,到處運行 "的思想,一旦一個 EJB開發(fā)完成之后就可以部 署在任何支持EJB的平臺上,而不需要重新編譯或?qū)υ创a進行修改。(4) EJB 定義了一個協(xié)議, 使用不同供應(yīng)商提供的工具開發(fā)和部署的構(gòu)件能在運行時互操作,EJB體系結(jié)構(gòu)與已有的服務(wù)器平臺其他的Java APL、CORBA等兼容。(6)EJB 支持 EnterpriseBeans 和其他的非 Java 應(yīng)用系統(tǒng)的互操作性。采用EJB開發(fā)應(yīng)用系統(tǒng)有很多優(yōu)點:(1)

18、 標(biāo)準(zhǔn)的 Java 技術(shù)的便利應(yīng)用系統(tǒng)可以在許多不同的服務(wù)器平臺上運行。(2) 修改應(yīng)用系統(tǒng)變得容易,對單個構(gòu)件進行增加、修改、刪除等操作不會對應(yīng)用系統(tǒng)的體 系結(jié)構(gòu)產(chǎn)生很大的影響。(3) 應(yīng)用系統(tǒng)經(jīng)過劃分之后, 使得構(gòu)件之間相互獨立,又可以相互協(xié)作,提供給用戶的是 該用戶所需要的構(gòu)件。(4) 應(yīng)用系統(tǒng)的開發(fā)變得容易,基本上是即插即用的方式。(5) 應(yīng)用系統(tǒng)從本質(zhì)上說是叮伸縮的, 可以運行在多線程多處理機的環(huán)境中。 (6) 可以在新的 應(yīng)用系統(tǒng)中得到重用,減少了新系統(tǒng)的開發(fā)時間。同時 ,EJB 也存在些缺點,主要有 :(1) EJB的數(shù)量可能非常多,以至于在軟件開發(fā)庫中很難對這些EJB進行跟蹤和

19、管理。(2) 如果應(yīng)用開發(fā)人員不能正確地使用 EJB, 可能會導(dǎo)致不恰當(dāng)?shù)膽?yīng)用系統(tǒng)設(shè)計 , 結(jié)果使得應(yīng) 用系統(tǒng)的總體性能下降。 除非Wh及編譯器的性能得到提高,否則EJB應(yīng)用系統(tǒng)的性能仍將是一個問題。 由于EJB技術(shù)出現(xiàn)時間不長,目前可用的EJB還不多,要想得到大量的商業(yè)性EJB還需要一段時間。45什么是D? D的特性和優(yōu)勢有哪些 ?D是一系列微軟的概念和程序接口,利用這個接口,客戶端程序?qū)ο竽軌蛘埱髞碜跃W(wǎng)絡(luò)中另 一臺計算機上的服務(wù)程序?qū)ο螅?D 基于組件對象模型 提供了一套允許同一臺計算機上的客 戶端與服務(wù)器之間進行通信的接口。D的特點1. 組件和復(fù)用2. 位置獨立性3. 語言無關(guān)性4. 連

20、接管理5. 可擴展性6. 對稱的多進程處理46. 軟件體系結(jié)構(gòu)評估方法所關(guān)注的質(zhì)量屬性有哪些 ?1 功能性 2可靠性 3可用性 4有效性 5可維護性 6.可移植性2. 風(fēng)險承擔(dān)者包括哪些人員 ?系統(tǒng)體系結(jié)構(gòu)所涉及到的人員。包括架構(gòu)設(shè)計師、開發(fā)人員、維護人員等。47什么是場景?基于場景的軟件體系結(jié)構(gòu)評估方法有哪幾種場景是對于風(fēng)險承擔(dān)者與系統(tǒng)進行交互的簡短描述。一般采用刺激、環(huán)境、響應(yīng)三個方面來描述場景。評估方法:SAAM與ATAM48. 簡述SAAM方法的評估步驟。49. 比較SAAM和D ATAM兩種方法的異同點。場景的生成方式不同風(fēng)險承擔(dān)者商業(yè)動機表述方式不同軟件體系結(jié)構(gòu)的描述方式不同第十三

21、章51.簡述軟件演化的幾種定義,這幾種定義各有哪些側(cè)重點?Manny Lehman和Juan F. Ranil定義:有目的地從早期的可操作版本來產(chǎn)生新的軟件版本的所有規(guī)劃設(shè)計活動。L. A. Belady 定義:軟件系統(tǒng)在它們的生命周期里被維護和增強的動態(tài)行為。NedChapin定義:它是軟件維護活動和過程的一個運用以及對這些活動和過程質(zhì)量的保 證和管理。這些活動和過程是用來從一個早期的可運行版本中產(chǎn)生一個新的軟件版本, 這個新的軟件必須滿足客戶要求改變的功能或?qū)傩浴?0. 造成軟件演化的原因有哪些 ?軟件系統(tǒng)開發(fā)完成并且投人使用之后,變更就悄悄開始進行了。這些變更一部分來自于對軟件缺陷的改正

22、,例如軟件使用后暴露的缺陷,軟件的性能和可靠性的改進;一部分會隨著新的需求浮現(xiàn)出來,例如實現(xiàn)新的功能;另一部分來自于外界的環(huán)境變化給軟件帶來的壓力, 例如商業(yè)模式和環(huán)境的不斷改變,計算機硬件和軟件環(huán)境的升級,業(yè)務(wù)的變更,等等。54.簡述軟件再工程模型58. 軟件如何重構(gòu)?說一說常見的軟件重構(gòu)的方法(1) 大量重復(fù)的代碼:盡量消除重復(fù)的代碼,將它們合而為根據(jù)重復(fù)的代碼出現(xiàn)在不同的地 方,分別采取不同的重構(gòu)策略 在同一個類(Class)的不同地方:提煉出重復(fù)的代碼,然后生這些地方調(diào)用上述提煉出的方 法。 在不同子類(Subclass)中:提煉出重復(fù)的代碼然后通過提開將該方法移動到上級Supercl

23、ass 內(nèi). 在沒有關(guān)系的類(Class)中:將重復(fù)的代的提煉到一個新類中,然后在另個Cass中調(diào)用生成的新類,消除重復(fù)的代碼。(2) 過長的方法參數(shù)序列:如果可以向已存在的對象查詢獲取參數(shù),則可通過移除參數(shù)列,在雨數(shù)內(nèi)部向上述已存在的對象查詢獲取參數(shù)。如果參數(shù)列中的若干參數(shù)是已存在對象的屬性,則可通過使用已存在的對象 ,取代這些參數(shù)將這些參數(shù)替換為一個完整的對象,這樣不僅提高了代碼的可讀性同時已易 于代碼今后的維護。另外,還可以將若 T不相關(guān)的參數(shù)通過 創(chuàng)建新的參數(shù)對象創(chuàng)建 個新的參數(shù)類。不過,筆者認(rèn)為如果這些情況過多,會產(chǎn)生很多莫名其妙的參數(shù)類,反而降低了代碼的可讀性。(3) 代碼量過大的方法體或類體:對于代碼最過大的方法,拆解過長的函效。(4) 過多的if eise和switch-case 邏輯:看多態(tài)能不能取代條件式,如果能,使用多態(tài)。如果不能應(yīng)該重新考慮程序的邏輯結(jié)構(gòu)。另一種情況是if和else句子何非常相似,那么考慮將其重寫,使同樣的代碼段無論對于 那種情況都能生成正確的結(jié)果,然后去除條件式。(5) 局部變量的“全局”化:,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論