第十三章程序相關(guān)設(shè)計(jì)語(yǔ)言和編碼_第1頁(yè)
第十三章程序相關(guān)設(shè)計(jì)語(yǔ)言和編碼_第2頁(yè)
第十三章程序相關(guān)設(shè)計(jì)語(yǔ)言和編碼_第3頁(yè)
第十三章程序相關(guān)設(shè)計(jì)語(yǔ)言和編碼_第4頁(yè)
第十三章程序相關(guān)設(shè)計(jì)語(yǔ)言和編碼_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第十三章程序設(shè)計(jì)語(yǔ)言和編碼 軟件工程編碼階段的任務(wù)是將詳細(xì)設(shè)計(jì)翻譯成計(jì)算機(jī)可以“理解”并且最終可運(yùn)行的代碼。 編碼的過(guò)程就是把詳細(xì)設(shè)計(jì)翻譯成可執(zhí)行代碼的過(guò)程,也是人借助編程語(yǔ)言與計(jì)算機(jī)通信的過(guò)程。 相對(duì)于軟件生命周期的其他階段,編碼耗費(fèi)較少。程序設(shè)計(jì)語(yǔ)言的分類程序設(shè)計(jì)語(yǔ)言的分類大體上,程序設(shè)計(jì)語(yǔ)言分為以下幾類:(1)機(jī)器語(yǔ)言(2)匯編語(yǔ)言(3)高級(jí)語(yǔ)言由于高級(jí)語(yǔ)言種類繁多,我們可以從應(yīng)用特點(diǎn)、語(yǔ)言內(nèi)在特點(diǎn)和對(duì)客觀系統(tǒng)的描述三個(gè)不同的角度來(lái)對(duì)高級(jí)語(yǔ)言進(jìn)行分類。程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言1 1機(jī)器語(yǔ)言(機(jī)器語(yǔ)言(Machine LanguageMachine Language)機(jī)器語(yǔ)言,是一種用二進(jìn)

2、制代碼表示的低機(jī)器語(yǔ)言,是一種用二進(jìn)制代碼表示的低級(jí)語(yǔ)言,是計(jì)算機(jī)直接使用的指令代碼。機(jī)器級(jí)語(yǔ)言,是計(jì)算機(jī)直接使用的指令代碼。機(jī)器語(yǔ)言沒(méi)有通用性、不能移植、因機(jī)器而異,因語(yǔ)言沒(méi)有通用性、不能移植、因機(jī)器而異,因?yàn)樘幚頇C(jī)不同指令系統(tǒng)就不同。用機(jī)器語(yǔ)言編為處理機(jī)不同指令系統(tǒng)就不同。用機(jī)器語(yǔ)言編寫(xiě)程序,都采用二進(jìn)制代碼形式,且所有的地寫(xiě)程序,都采用二進(jìn)制代碼形式,且所有的地址分配都以絕對(duì)地址的形式處理,存儲(chǔ)空間的址分配都以絕對(duì)地址的形式處理,存儲(chǔ)空間的安排、寄存器、變址的使用也都由程序員自己安排、寄存器、變址的使用也都由程序員自己計(jì)劃。計(jì)劃。2 2匯編語(yǔ)言(匯編語(yǔ)言(Assemble Languag

3、eAssemble Language)匯編語(yǔ)言,是一種使用助記符表示的低級(jí)語(yǔ)匯編語(yǔ)言,是一種使用助記符表示的低級(jí)語(yǔ)言。某一種匯編語(yǔ)言也是專門(mén)為某種特定的計(jì)算言。某一種匯編語(yǔ)言也是專門(mén)為某種特定的計(jì)算機(jī)系統(tǒng)而設(shè)計(jì)的。用匯編語(yǔ)言寫(xiě)成的程序,需經(jīng)機(jī)系統(tǒng)而設(shè)計(jì)的。用匯編語(yǔ)言寫(xiě)成的程序,需經(jīng)匯編程序翻譯成機(jī)器語(yǔ)言程序才能執(zhí)行。匯編程序翻譯成機(jī)器語(yǔ)言程序才能執(zhí)行。匯編語(yǔ)言中的每條符號(hào)指令都與相應(yīng)的機(jī)器匯編語(yǔ)言中的每條符號(hào)指令都與相應(yīng)的機(jī)器指令有對(duì)應(yīng)關(guān)系,同時(shí)又增加了一些諸如宏、符指令有對(duì)應(yīng)關(guān)系,同時(shí)又增加了一些諸如宏、符號(hào)地址等功能。雖然這種語(yǔ)言的命令比機(jī)器語(yǔ)言號(hào)地址等功能。雖然這種語(yǔ)言的命令比機(jī)器語(yǔ)言好

4、記,但它并沒(méi)有改變機(jī)器語(yǔ)言功能弱、指令少、好記,但它并沒(méi)有改變機(jī)器語(yǔ)言功能弱、指令少、繁瑣、易出錯(cuò)、不能移植等的缺點(diǎn)。繁瑣、易出錯(cuò)、不能移植等的缺點(diǎn)。3 3高級(jí)語(yǔ)言(高級(jí)語(yǔ)言(High level LanguageHigh level Language)高級(jí)語(yǔ)言是面向用戶的、基本上獨(dú)立于計(jì)算高級(jí)語(yǔ)言是面向用戶的、基本上獨(dú)立于計(jì)算機(jī)種類和結(jié)構(gòu)的語(yǔ)言。高級(jí)語(yǔ)言最大的優(yōu)點(diǎn)是:機(jī)種類和結(jié)構(gòu)的語(yǔ)言。高級(jí)語(yǔ)言最大的優(yōu)點(diǎn)是:形式上接近于算術(shù)語(yǔ)言和自然語(yǔ)言,概念上又接形式上接近于算術(shù)語(yǔ)言和自然語(yǔ)言,概念上又接近于人們通常使用的概念。高級(jí)語(yǔ)言的一個(gè)命令近于人們通常使用的概念。高級(jí)語(yǔ)言的一個(gè)命令可以代替幾條、幾十

5、條甚至幾百條匯編語(yǔ)言的指可以代替幾條、幾十條甚至幾百條匯編語(yǔ)言的指令,因此,高級(jí)語(yǔ)言易學(xué)易用,通用性強(qiáng)且應(yīng)用令,因此,高級(jí)語(yǔ)言易學(xué)易用,通用性強(qiáng)且應(yīng)用廣泛。廣泛。4 4第四代語(yǔ)言(第四代語(yǔ)言(Fourth Generation languageFourth Generation language,簡(jiǎn)稱簡(jiǎn)稱4GL4GL)第四代語(yǔ)言(第四代語(yǔ)言(4GL4GL)的出現(xiàn),將語(yǔ)言的抽象)的出現(xiàn),將語(yǔ)言的抽象層次又提高到一個(gè)新的高度。第四代語(yǔ)言雖然層次又提高到一個(gè)新的高度。第四代語(yǔ)言雖然也用不同的文法表示程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),但也用不同的文法表示程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),但第四代語(yǔ)言是在更高一級(jí)抽象的層次上表示這

6、第四代語(yǔ)言是在更高一級(jí)抽象的層次上表示這些結(jié)構(gòu)。用第四代語(yǔ)言編碼時(shí)只需說(shuō)明些結(jié)構(gòu)。用第四代語(yǔ)言編碼時(shí)只需說(shuō)明“做什做什么么”,而不需描述算法細(xì)節(jié)。,而不需描述算法細(xì)節(jié)。(1)基礎(chǔ)語(yǔ)言(例:FORTRAN,BASIC,COBOL和ALGOL)(2)結(jié)構(gòu)化語(yǔ)言(例:ALGOL,PL/1,PASCAL,C,Ada)(3)專用語(yǔ)言(例:APL,LISP,PROLOG,BLISS,F(xiàn)ORTH)1、從應(yīng)用特點(diǎn)的角度來(lái)分、從應(yīng)用特點(diǎn)的角度來(lái)分(1)系統(tǒng)實(shí)現(xiàn)語(yǔ)言(例:C語(yǔ)言)(2)靜態(tài)高級(jí)語(yǔ)言(例:FORTRAN、COBOL)(3)塊結(jié)構(gòu)高級(jí)語(yǔ)言(例:PASCAL,ALGOL)(4)動(dòng)態(tài)高級(jí)語(yǔ)言2、從語(yǔ)言內(nèi)在

7、特點(diǎn)的角度來(lái)分、從語(yǔ)言內(nèi)在特點(diǎn)的角度來(lái)分(2)面向?qū)ο笳Z(yǔ)言對(duì)象+消息(1)面向過(guò)程語(yǔ)言數(shù)據(jù)結(jié)構(gòu)+算法3、從描述客觀系統(tǒng)的角度來(lái)分、從描述客觀系統(tǒng)的角度來(lái)分例:Delphi、Visual Basic、JAVA、C+。二、程序設(shè)計(jì)語(yǔ)言的特點(diǎn)二、程序設(shè)計(jì)語(yǔ)言的特點(diǎn)1 1名字說(shuō)明名字說(shuō)明 2 2類型說(shuō)明類型說(shuō)明 3 3初始化初始化 4 4程序?qū)ο蟮木植啃猿绦驅(qū)ο蟮木植啃?5 5程序模塊程序模塊 6 6循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu) 7 7分支控制給構(gòu)分支控制給構(gòu) 8 8異常處理異常處理 9 9獨(dú)立編譯獨(dú)立編譯 三、三、程序設(shè)計(jì)語(yǔ)言的選擇程序設(shè)計(jì)語(yǔ)言的選擇 程序設(shè)計(jì)語(yǔ)言的選擇常從以下幾個(gè)方面考慮:程序設(shè)計(jì)語(yǔ)言

8、的選擇常從以下幾個(gè)方面考慮:(1 1)項(xiàng)目的應(yīng)用領(lǐng)域)項(xiàng)目的應(yīng)用領(lǐng)域(2 2)算法與計(jì)算的復(fù)雜性)算法與計(jì)算的復(fù)雜性(3 3)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性(4 4)效率)效率(5 5)可移植性)可移植性(6 6)程序設(shè)計(jì)人員的水平)程序設(shè)計(jì)人員的水平(7 7)構(gòu)造系統(tǒng)的模式)構(gòu)造系統(tǒng)的模式編碼風(fēng)格編碼風(fēng)格編碼風(fēng)格實(shí)際上是一種編碼原則。從編碼風(fēng)格實(shí)際上是一種編碼原則。從2020世紀(jì)世紀(jì)7070年代以來(lái),編碼的目標(biāo)從強(qiáng)調(diào)效率轉(zhuǎn)變到強(qiáng)年代以來(lái),編碼的目標(biāo)從強(qiáng)調(diào)效率轉(zhuǎn)變到強(qiáng)調(diào)清晰。與此相應(yīng),編碼風(fēng)格也從追求調(diào)清晰。與此相應(yīng),編碼風(fēng)格也從追求“聰明聰明”和和“技巧技巧”,變?yōu)樘岢?,變?yōu)樘岢昂?jiǎn)明簡(jiǎn)

9、明”和和“直接直接”。人們逐漸認(rèn)識(shí)到,良好的編碼風(fēng)格能在一定程人們逐漸認(rèn)識(shí)到,良好的編碼風(fēng)格能在一定程度上彌補(bǔ)程序設(shè)計(jì)語(yǔ)言存在的缺點(diǎn)。反之,如度上彌補(bǔ)程序設(shè)計(jì)語(yǔ)言存在的缺點(diǎn)。反之,如果不注意編碼風(fēng)格,即使使用了結(jié)構(gòu)化的現(xiàn)代果不注意編碼風(fēng)格,即使使用了結(jié)構(gòu)化的現(xiàn)代語(yǔ)言,也很難寫(xiě)出高質(zhì)量的程序。語(yǔ)言,也很難寫(xiě)出高質(zhì)量的程序。一、代碼文檔化:指編碼時(shí)適當(dāng)選擇標(biāo)識(shí)符的名字、一、代碼文檔化:指編碼時(shí)適當(dāng)選擇標(biāo)識(shí)符的名字、適當(dāng)安排注釋和注重程序的整個(gè)組織形式。適當(dāng)安排注釋和注重程序的整個(gè)組織形式。二、二、數(shù)據(jù)說(shuō)明:程序或模塊在其可執(zhí)行部分的前面都數(shù)據(jù)說(shuō)明:程序或模塊在其可執(zhí)行部分的前面都集中了一些說(shuō)明語(yǔ)句

10、集中了一些說(shuō)明語(yǔ)句 ,出于閱讀理解和維護(hù)的要,出于閱讀理解和維護(hù)的要求,最好使其規(guī)范化,使說(shuō)明的先后次序固定求,最好使其規(guī)范化,使說(shuō)明的先后次序固定 。三、語(yǔ)句構(gòu)造三、語(yǔ)句構(gòu)造 :每條語(yǔ)句都應(yīng)當(dāng)簡(jiǎn)單而直接,同時(shí):每條語(yǔ)句都應(yīng)當(dāng)簡(jiǎn)單而直接,同時(shí)也不應(yīng)為了追求運(yùn)行效率而使代碼復(fù)雜化,這樣會(huì)也不應(yīng)為了追求運(yùn)行效率而使代碼復(fù)雜化,這樣會(huì)減低程序的可讀性。減低程序的可讀性。 四、四、輸入輸入/ /輸出:源程序的輸入輸出風(fēng)格必須滿足運(yùn)輸出:源程序的輸入輸出風(fēng)格必須滿足運(yùn)行工程學(xué)的需要。行工程學(xué)的需要。通常,效率主要指占用處理機(jī)時(shí)間和主存區(qū)域兩個(gè)方面。好的編碼可以提高效率,在我們進(jìn)一步討論這個(gè)問(wèn)題之前,應(yīng)該

11、記住三條原則:第一、效率是一個(gè)性能要求,因而應(yīng)該在需求分析階段確定代碼效率方面的要求;第二、通過(guò)好的設(shè)計(jì)可以提高效率;第三、程序的效率和程序的簡(jiǎn)明程度是一致的,不應(yīng)該為了提高代碼效率而犧牲程序的清晰性和可讀性。效率效率一、代碼效率一、代碼效率 (1 1)應(yīng)先簡(jiǎn)化算術(shù)和邏輯的表達(dá)式。)應(yīng)先簡(jiǎn)化算術(shù)和邏輯的表達(dá)式。(2 2)仔細(xì)研究嵌套的循環(huán),以確定是否有)仔細(xì)研究嵌套的循環(huán),以確定是否有語(yǔ)句可以從內(nèi)層往外移。語(yǔ)句可以從內(nèi)層往外移。(3 3)盡量避免使用多維數(shù)組。)盡量避免使用多維數(shù)組。(4 4)盡量避免使用指針和復(fù)雜的列表。)盡量避免使用指針和復(fù)雜的列表。(5 5)使用執(zhí)行時(shí)間短的算術(shù)運(yùn)算。)使

12、用執(zhí)行時(shí)間短的算術(shù)運(yùn)算。(6 6)即使語(yǔ)言允許,一般也不要采用混合)即使語(yǔ)言允許,一般也不要采用混合數(shù)據(jù)類型。數(shù)據(jù)類型。(7 7)盡量使用整數(shù)表達(dá)式和布爾表達(dá)式。)盡量使用整數(shù)表達(dá)式和布爾表達(dá)式。二、存儲(chǔ)器效率二、存儲(chǔ)器效率 采用結(jié)構(gòu)化程序設(shè)計(jì),將程序功能合理分塊,采用結(jié)構(gòu)化程序設(shè)計(jì),將程序功能合理分塊,使每個(gè)模塊或一組密切相關(guān)模塊的程序體積大小使每個(gè)模塊或一組密切相關(guān)模塊的程序體積大小與每頁(yè)的容量相匹配,可減少頁(yè)面調(diào)度、減少內(nèi)與每頁(yè)的容量相匹配,可減少頁(yè)面調(diào)度、減少內(nèi)外存交換,提高存儲(chǔ)器效率。外存交換,提高存儲(chǔ)器效率。在微型計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器的容量對(duì)軟件設(shè)在微型計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器的容量對(duì)

13、軟件設(shè)計(jì)和編碼的制約比較大。因此要選擇可生成較短計(jì)和編碼的制約比較大。因此要選擇可生成較短目標(biāo)代碼且存儲(chǔ)壓縮性能優(yōu)良的編譯程序,有時(shí)目標(biāo)代碼且存儲(chǔ)壓縮性能優(yōu)良的編譯程序,有時(shí)需要采用匯編語(yǔ)言編程。需要采用匯編語(yǔ)言編程。三、輸入三、輸入/輸出的效率輸出的效率 (1)所有輸入)所有輸入/輸出都應(yīng)該有緩沖,以減少過(guò)多的輸出都應(yīng)該有緩沖,以減少過(guò)多的通信次數(shù)。通信次數(shù)。(2)對(duì)輔存(如磁盤(pán)),應(yīng)選用最簡(jiǎn)單的訪問(wèn))對(duì)輔存(如磁盤(pán)),應(yīng)選用最簡(jiǎn)單的訪問(wèn)方法。方法。(3)輔存的輸入)輔存的輸入/輸出,應(yīng)該以塊為單位進(jìn)行。輸出,應(yīng)該以塊為單位進(jìn)行。(4)終端和打印機(jī)的輸入)終端和打印機(jī)的輸入/輸出,應(yīng)當(dāng)考慮設(shè)

14、備輸出,應(yīng)當(dāng)考慮設(shè)備的特性,以提高輸入的特性,以提高輸入/輸出的質(zhì)量和速度。輸出的質(zhì)量和速度。(5)不應(yīng)當(dāng)采用不能被人們所理解的超高效的)不應(yīng)當(dāng)采用不能被人們所理解的超高效的輸入輸入/輸出。輸出。程序內(nèi)部的文檔包括:恰當(dāng)?shù)臉?biāo)識(shí)符(變量和標(biāo)號(hào))的名字;適當(dāng)?shù)淖⑨?;程序的視覺(jué)組織。程序內(nèi)部的文檔程序內(nèi)部的文檔標(biāo)識(shí)符包括模塊名、變量名、常量名、標(biāo)號(hào)名、子程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字的選取應(yīng)含義鮮明,能正確地提示程序?qū)ο笏淼膶?shí)體。這對(duì)于幫助閱讀者理解程序是很重要的。例如,表示次數(shù)用times,表示總量用total等。名字的長(zhǎng)度不應(yīng)限制,但也不宜過(guò)長(zhǎng),太長(zhǎng)了容易出錯(cuò),應(yīng)選擇精煉且意義明確

15、的名字,這樣才能簡(jiǎn)化程序語(yǔ)句,改善對(duì)程序功能的理解。如果名字使用縮寫(xiě),那么縮寫(xiě)規(guī)則應(yīng)該一致,并且應(yīng)該給每個(gè)名字加上注解,以方便閱讀。1、標(biāo)識(shí)符的命名、標(biāo)識(shí)符的命名程序的注釋分為兩種:序言性注釋和功能性注釋。2、程序的注釋、程序的注釋序言性注釋通常安排在每個(gè)程序模塊的起始部分,它是對(duì)程序的整體說(shuō)明,對(duì)于理解程序本身具有引導(dǎo)作用。其格式如下:有關(guān)本模塊功能說(shuō)明;主要算法;接口描述:包括調(diào)用形式,參數(shù)描述以及子模塊清單;有關(guān)數(shù)據(jù)描述:包括重要的變量及其用途、約束或限制條件,以及其它有關(guān)信息;模塊位置:在哪一個(gè)源文件中,或隸屬于哪一個(gè)軟件包;開(kāi)發(fā)簡(jiǎn)歷:包括模塊設(shè)計(jì)者姓名,復(fù)審人姓名,復(fù)審日期,修改日期

16、及有關(guān)說(shuō)明等。功能性注釋嵌入在源程序體內(nèi),用以描述其后的語(yǔ)句或程序段的處理功能。書(shū)寫(xiě)功能性注釋,要注意以下幾點(diǎn):描述的對(duì)象是一段程序,而不是每一個(gè)語(yǔ)句;適當(dāng)使用縮進(jìn)和空行,使程序與注釋容易區(qū)別;注釋一定要準(zhǔn)確。不精確的甚至是錯(cuò)誤的注釋不僅對(duì)理解程序毫無(wú)幫助,反而會(huì)妨礙對(duì)程序的理解。Private Sub Form_Load() Dim txtSQL As String Dim MsgText As String Dim mrc As ADODB.Recordset Dim i As Integer comboSex.AddItem 男 comboSex.AddItem 女 txtSQL = s

17、elect*from manrecord Set mrc = ExecuteSQL(txtSQL, MsgText) 添加內(nèi)容到列表框 For i = 1 To mrc.RecordCount mrc.MoveNext Next i 關(guān)閉數(shù)據(jù)對(duì)象 mrc.Close End Sub程序中代碼的布局對(duì)于程序的可讀性也有很大影響。適當(dāng)?shù)睦每崭瘛⒖招泻鸵菩心苁钩绦虻倪壿嫿Y(jié)構(gòu)更加清晰。空格的合理應(yīng)用還可以突出運(yùn)算的優(yōu)先性,避免發(fā)生運(yùn)算的錯(cuò)誤。3、程序的視覺(jué)組織、程序的視覺(jué)組織mrc.Close For i = 0 To 1 cboYear(i).ListIndex = 0 Next i For i

18、= 0 To 1 For j = 1 To 12 cboMonth(i).AddItem j Next j Next i For i = 0 To 1 cboMonth(i).Text = Month(Now() Next i Else cmdCX.Enabled = False End If為了使數(shù)據(jù)更容易理解和維護(hù),應(yīng)遵循一些簡(jiǎn)單的原則:(1)數(shù)據(jù)說(shuō)明的次序應(yīng)當(dāng)規(guī)范化。(2)當(dāng)多個(gè)變量名在一個(gè)語(yǔ)句中說(shuō)明時(shí),應(yīng)該按字母順序排列這些變量。(3)如果設(shè)計(jì)時(shí)使用了一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),則應(yīng)注解說(shuō)明用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的方法和特點(diǎn)。數(shù)據(jù)說(shuō)明數(shù)據(jù)說(shuō)明語(yǔ)句構(gòu)造應(yīng)遵循的原則是:每條語(yǔ)句應(yīng)該簡(jiǎn)單而直

19、接,不應(yīng)為了片面追求效率而使代碼變得過(guò)于復(fù)雜。 語(yǔ)句構(gòu)造語(yǔ)句構(gòu)造人們?cè)陂L(zhǎng)期的實(shí)踐中總結(jié)了以下一些規(guī)則:不要為了節(jié)省空間而把多個(gè)語(yǔ)句寫(xiě)在同一行;用空格或可讀的符號(hào)使語(yǔ)句的內(nèi)容更加清晰;盡量避免復(fù)雜的條件測(cè)試;盡量避免使用“非”條件的條件語(yǔ)句;避免過(guò)多使用循環(huán)嵌套和條件嵌套;利用括號(hào)使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序清晰直觀;盡可能使用庫(kù)函數(shù);讓編譯程序作簡(jiǎn)單的優(yōu)化。在設(shè)計(jì)和程序編碼時(shí),應(yīng)考慮輸入和輸出風(fēng)格原則:對(duì)所有輸入數(shù)據(jù)都進(jìn)行校驗(yàn),以保證每個(gè)數(shù)據(jù)的有效性;檢查重要的輸入項(xiàng)組合的合法性;使得輸入的步驟和操作盡可能簡(jiǎn)單,并保持簡(jiǎn)單的輸入格式;輸入一批數(shù)據(jù)時(shí),使用輸入結(jié)束指示符,不要要求用戶說(shuō)明輸

20、入項(xiàng)數(shù);在以交互式輸入輸出方式進(jìn)行輸入時(shí),要指明可以使用的選擇值或界限值;應(yīng)允許缺省值;當(dāng)程序設(shè)計(jì)語(yǔ)言對(duì)輸入輸出格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語(yǔ)句的要求一致;給所有的輸出加注釋,并設(shè)計(jì)輸出報(bào)表格式。輸入輸出輸入輸出為了提高編碼的效率,保證程序的可靠性,我們經(jīng)常使用一些編碼工具。首先要用的當(dāng)然是編輯工具了。選用合適的編輯工具可以大大方便編程,提高效率。編譯程序的好壞也會(huì)影響編碼的效率。一方面,好的編譯程序應(yīng)該是程序員的好助手,能夠幫助程序員及時(shí)準(zhǔn)確地診斷出程序中的差錯(cuò),減少程序開(kāi)發(fā)的成本。另一方面,編譯程序還應(yīng)該能夠生成高效率的機(jī)器代碼,也就是代碼優(yōu)化。編碼工具編碼工具現(xiàn)在的軟件系統(tǒng)往往

21、是集體開(kāi)發(fā),一個(gè)大的軟件系統(tǒng)往往包含許多模塊,這些不同的模塊可能分散在幾個(gè)不同的文件或庫(kù)里。為了得到最終的可執(zhí)行代碼,必須先將各個(gè)模塊進(jìn)行分別編譯,然后再進(jìn)行連接。由于模塊的數(shù)量很多,而且這些模塊往往都是相互影響和制約的,如果某個(gè)模塊的源代碼改變了,那么受此模塊影響的所有其它模塊都必須進(jìn)行再編譯、再連接。我們可以借助一些工具來(lái)完成這項(xiàng)工作。如UNIX的MAKE工具。利用MAKE程序能保持模塊間的協(xié)調(diào)關(guān)系。程序員將程序不同模塊之間的依賴關(guān)系以及更新模塊時(shí)必須進(jìn)行的操作告訴MAKE程序,這樣,MAKE程序就能夠自動(dòng)檢索出那些“過(guò)時(shí)”了的,需要進(jìn)行再編譯的模塊,并對(duì)所發(fā)現(xiàn)的過(guò)時(shí)模塊執(zhí)行說(shuō)明信息中規(guī)定

22、的更新操作,從而使目標(biāo)文件永遠(yuǎn)保持最新的版本。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的特點(diǎn)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的特點(diǎn) 面向?qū)ο笳Z(yǔ)言支持面向?qū)ο蟮母拍睿绶庋b、繼承、面向?qū)ο笳Z(yǔ)言支持面向?qū)ο蟮母拍?,如封裝、繼承、多態(tài)、將數(shù)據(jù)抽象化等特點(diǎn)多態(tài)、將數(shù)據(jù)抽象化等特點(diǎn) 。 如如C+中一般用類來(lái)實(shí)現(xiàn)封裝;中一般用類來(lái)實(shí)現(xiàn)封裝;Java的類有層次之分,的類有層次之分,子類繼承父類的屬性和方法,重用性較好。大多數(shù)面向?qū)ψ宇惱^承父類的屬性和方法,重用性較好。大多數(shù)面向?qū)ο笳Z(yǔ)言都提供一個(gè)實(shí)用的類庫(kù)。某些語(yǔ)言本身并沒(méi)有規(guī)定象語(yǔ)言都提供一個(gè)實(shí)用的類庫(kù)。某些語(yǔ)言本身并沒(méi)有規(guī)定提供什么樣的類庫(kù),而是由實(shí)現(xiàn)這種語(yǔ)言的編譯系統(tǒng)自行提供什么樣的類庫(kù),而是由實(shí)現(xiàn)這種語(yǔ)言的編譯系統(tǒng)自行提

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論