版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
編碼設(shè)計(jì)(主講趙元哲)西安電子科技大學(xué)研究生院課程程序設(shè)計(jì)語言的選擇程序設(shè)計(jì)途徑與編寫程序的風(fēng)格保護(hù)性編程冗余編程1程序設(shè)計(jì)語言的選擇
翻譯過程在編程步驟中,要把詳細(xì)設(shè)計(jì)的表達(dá)式翻譯成編程語言的構(gòu)造,編譯器接受作為輸入的源代碼,源代碼生成作為輸出并從屬于機(jī)器的目標(biāo)代碼(obj),然后編譯器把輸出目標(biāo)代碼進(jìn)一步翻譯成機(jī)器代碼(它是真正指令),由CPU執(zhí)行。
程序設(shè)計(jì)的語言分類:基礎(chǔ)語言(BASIC,FORTRAN,COBOL,ALGOL)
結(jié)構(gòu)語言(PL/1,PASCAL,C.ADA)
專用語言(FORTH,PROLOG,LISP)
系統(tǒng)實(shí)現(xiàn)語言(C)語言分類靜態(tài)高級(jí)語言(COBOL,FORTRAN)
動(dòng)態(tài)高級(jí)語言塊結(jié)構(gòu)高級(jí)語言(ALGOL,PASCAL)
可視化編程語言(VB,VC,PB,BC,C++BUILDER)
程序設(shè)計(jì)語言特點(diǎn)與特性
編程語言的特點(diǎn)命令式語言(c)、面向?qū)ο笫秸Z言(c++)、函數(shù)式語言(lisp)、邏輯型語言(prolog)心理學(xué)觀點(diǎn)在編程中,人的因素極其重要,所以,語言的心理學(xué)特性對(duì)代碼的翻譯和實(shí)現(xiàn)的設(shè)計(jì)都有重要影響。
1)一致性一致性是表示某種語言使用一致的符號(hào)、采用看似任意的限制以及支持語法或語義例外規(guī)則的程度。例如,FORTRAN用圓括號(hào)作數(shù)組下標(biāo)的界限符,算術(shù)運(yùn)算有限次序的修改符等,容易引起難以覺察的錯(cuò)誤。
2)
多義性編程語言的多義性是程序員的理解。一般一條語句一個(gè)解釋。有時(shí)卻有多種解釋。
3)
緊湊性
緊湊性是一種面向代碼信息量的表示.度量緊湊性的語言屬性有:
(1)該語言支持結(jié)構(gòu)化構(gòu)造和邏輯“塊”的程度
(2)
所用的關(guān)鍵字和縮寫詞的種類
(3)
數(shù)據(jù)類型和缺省特性的品種
(4)
算術(shù)運(yùn)算和邏輯運(yùn)算的數(shù)量
4)
局域性編程語言的綜合特性,當(dāng)語句可以組合為程序塊,結(jié)構(gòu)化構(gòu)造可以直接實(shí)現(xiàn),設(shè)計(jì)代碼和合成代碼具有高的模塊性和聚合時(shí),局域性就高.
5)
線性:一種心理特性.它與保持功能域的概念緊密聯(lián)系。即當(dāng)遇到一個(gè)邏輯運(yùn)算線性序列時(shí),人容易理解;外延分支和外延大的循環(huán)都違反處理的線性,而結(jié)構(gòu)化構(gòu)造的直接實(shí)現(xiàn)有助于編程語言的線性。工程觀點(diǎn)以具體的軟件開發(fā)項(xiàng)目的需要為基礎(chǔ),注意源代碼的工程特性:
(1)易于把設(shè)計(jì)翻譯為代碼;
(2)編譯器效率;
(3)源代碼可移植性:源代碼不修改或很小修改,直接搬到另一編譯器,環(huán)境變了,源碼不變;
(4)開發(fā)工具的可用性:許多編程語言有調(diào)試工具,
內(nèi)部編輯,源碼控制,瀏覽器,宏處理器,反向工程工具和其他工具;
(5)可維護(hù)性:源碼必須可讀,并能根據(jù)設(shè)計(jì)的變化進(jìn)行修改等。技術(shù)觀點(diǎn)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性問題數(shù)據(jù)實(shí)時(shí)處理能力數(shù)據(jù)庫操作問題
選擇一種語言
因?yàn)橐环N語言不可能同時(shí)滿足各種需求,應(yīng)該對(duì)各種需求(項(xiàng)目應(yīng)用領(lǐng)域、軟件開發(fā)方法、執(zhí)行環(huán)境等)進(jìn)行權(quán)衡,比較各種可用語言的適用程度,選擇最適用的。
用于評(píng)價(jià)語言的準(zhǔn)則:(1)一般的應(yīng)用領(lǐng)域,(2)算法和計(jì)算的復(fù)雜性
(3)軟件運(yùn)行環(huán)境
(4)性能考慮
(5)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性
(6)軟件開發(fā)人員的知識(shí)
(7)好的編譯器或交叉編譯器的可使用性.
2程序設(shè)計(jì)途徑與編寫程序的風(fēng)格
l程序設(shè)計(jì)方法論
方法論:
自上而下:程序可讀性好,可靠性高。
自下而上:局部優(yōu)化:系統(tǒng)整體性差,但能及時(shí)發(fā)現(xiàn)算法是否可行,返工性好。二種方法各有優(yōu)缺點(diǎn):在軟件預(yù)研和攻關(guān),技術(shù)積累時(shí)采用自下而上,在緊迫工程時(shí),采用自上而下.
l程序設(shè)計(jì)自動(dòng)化
三種途徑實(shí)現(xiàn)程序設(shè)計(jì)自動(dòng)化l程序設(shè)計(jì)工具
1.編譯程序它是最基本的程序設(shè)計(jì)工具,它可以診斷出程序中的錯(cuò)誤,減少開發(fā)成本,生成高效率的機(jī)器代碼
2.代碼管理系統(tǒng)l編碼風(fēng)格編碼風(fēng)格實(shí)際上是一種編碼原則,編碼對(duì)象是有兩個(gè):
機(jī)器:編碼要為機(jī)器所理解與執(zhí)行
人:能讀懂,方便使用與維護(hù)編碼風(fēng)格最重要的有兩條:簡單和清晰。與編碼風(fēng)格有關(guān)的因素:
代碼的文檔化、數(shù)據(jù)說明方法、語句構(gòu)造處理、I/O技術(shù)。L代碼文檔化
代碼文檔化是從選擇標(biāo)識(shí)符(變量、標(biāo)號(hào))的名字開始,接著是寫程序和安排注釋,最后是程序的整個(gè)視覺組織形式。所有的編程語言都允許用自然語言在程序中進(jìn)行注釋,問題在于:
(1)多少注釋才算夠?
(2)
注釋應(yīng)該放在什么位置?
(3)
注釋是否會(huì)使邏輯流不清楚?
(4)
注釋是否會(huì)使讀者誤解?
(5)
注釋是否會(huì)使程序不可維護(hù)?很難回答,但必須清楚:軟件必須包含代碼的內(nèi)部說明,開發(fā)者可以用注釋的方法對(duì)代碼內(nèi)部進(jìn)行說明。L注釋(注釋范例):
①序言性注釋:應(yīng)該安排在模塊的起始部分,內(nèi)容有:
(1)說明每個(gè)模塊的用途,指明它的功能
(2)接口描述,包括:調(diào)用序列,每個(gè)參數(shù)的描述,以及所有從屬模塊清單。
(3)討論有關(guān)數(shù)據(jù),包括:重要的變量和它們的用途、限制或約束條件,以及其他必要的信息。
(4)開發(fā)歷史,包括:模塊設(shè)計(jì)人姓名,評(píng)審人姓名及日期、修改說明及日期。②功能性注釋:
應(yīng)嵌入在源代碼體內(nèi),描述處理功能。注釋基本原則是:注釋要解釋程序代碼,提供附加說明。此外,還應(yīng)做到:
(1)
注釋是說明代碼塊,而不是注釋每一行代碼。(2)
使用空行或縮格,以易于區(qū)分注釋和代碼。
(3)
注釋一定要正確,以免引起錯(cuò)誤,造成誤解。序言性注釋:功能性注釋:當(dāng)使用PDL表示進(jìn)行詳細(xì)設(shè)計(jì)時(shí),設(shè)計(jì)文檔可以作為注釋直接嵌入在源代碼體內(nèi),十分有效,當(dāng)修改設(shè)計(jì)或代碼時(shí),確保設(shè)計(jì)和代碼都能維護(hù)。(1)數(shù)據(jù)說明的次序應(yīng)規(guī)范化,可使數(shù)據(jù)屬性更容易尋找,有利于測試、糾錯(cuò)和維護(hù)。
(2)當(dāng)多個(gè)變量名在一條語句說明時(shí),變量名的次序應(yīng)按字母順序排列。
(3)如果設(shè)計(jì)中,確定了一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),就應(yīng)該用注釋說明在編程語言實(shí)現(xiàn)時(shí)的特點(diǎn)。l語句構(gòu)造
軟件邏輯構(gòu)造是在設(shè)計(jì)時(shí)確定的,每個(gè)語句構(gòu)造則是編碼步驟中的一部分。語句構(gòu)造應(yīng)當(dāng)遵守的原則是:
每條語句應(yīng)當(dāng)簡單而直接,不應(yīng)為了追求運(yùn)行效率而使代碼變得復(fù)雜化,讓人難以理解。為了提高代碼的可讀性,最好一行只寫一條語句(因?yàn)樵S多編程語言允許一行寫多條語句)。還應(yīng)采用縮排的方式,這樣可以使程序段的邏輯結(jié)構(gòu)和功能特征更加清晰。單條源代碼(語句)的簡化方法如下:(1)避免使用復(fù)雜的條件測試。(2)排除測試條件的“非”。(3)避免多重循環(huán)嵌套或條件嵌套。(4)用括號(hào)的方法使邏輯表達(dá)式或算術(shù)表達(dá)式更加清晰。(5)用空格或可讀的符號(hào)使語句內(nèi)容更加清晰。(6)只使用國家標(biāo)準(zhǔn)。(7)要想著,如果代碼不是我編寫的,我也能讀懂它。
總之,一句話:要力求直接了當(dāng),簡單明了。
l
I/O
I/O的風(fēng)格不是在編碼時(shí)確定的,是在軟件需求分析和設(shè)計(jì)中確定的。但編碼時(shí),I/O的實(shí)現(xiàn)方式?jīng)Q定了用戶對(duì)系統(tǒng)特征的可接受程度。不管軟件的性質(zhì)是批處理,還是交互的,在設(shè)計(jì)和編碼時(shí),都應(yīng)考慮下述有關(guān)I/O風(fēng)格原則:(1)檢查所有輸入數(shù)據(jù)的有效性。(2)檢查輸入項(xiàng)上的重要組合的合法性。(3)
保持簡單的輸入格式。(4)使用數(shù)據(jù)結(jié)束說明符,不應(yīng)要求用戶規(guī)定輸入項(xiàng)目的數(shù)量。(5)用標(biāo)記標(biāo)明交互的輸入請求,應(yīng)規(guī)定可以使用的選擇值或邊界值。(6)當(dāng)編程語言對(duì)格式有嚴(yán)格的要求時(shí),應(yīng)保持輸入格式的一致性。(7)給所有輸出加標(biāo)記,并設(shè)計(jì)所有輸出報(bào)告。l
效率
有三條準(zhǔn)則應(yīng)該指出的:(1)效率是一種性能要求。因此,應(yīng)當(dāng)在軟件需求時(shí)規(guī)定。軟件效率應(yīng)按實(shí)際需要來要求,而不是越高越好。(2)
一個(gè)良好的設(shè)計(jì)可以提高效率。(3)
代碼效率與代碼的簡單性緊密聯(lián)系。
追求效率建立在不損害程序可靠性和可讀性基礎(chǔ)上!提高效率的根本途徑:設(shè)計(jì)方法、數(shù)據(jù)組織、算法,而非簡單的語句調(diào)整!l
代碼效率
源代碼的效率與詳細(xì)設(shè)計(jì)階段所確定的算法效率直接相關(guān)。但編碼風(fēng)格也會(huì)影響運(yùn)行速度和對(duì)內(nèi)存的需要。一般可以使用以下準(zhǔn)則:(1)在進(jìn)行編碼以前,應(yīng)簡化算術(shù)表達(dá)式和邏輯表達(dá)式。(2)要細(xì)心的評(píng)價(jià)嵌套循環(huán),以確定能否把一些語句或表達(dá)式移到循環(huán)外邊。(3)
應(yīng)盡量避免使用多維數(shù)組。(4)
應(yīng)盡量避免使用指針和復(fù)雜的列表。(5)
采用快的算術(shù)運(yùn)算。(6)
即使語言允許,也不要采用混合數(shù)據(jù)類型。(7)只要可能,應(yīng)當(dāng)采用整型算術(shù)表達(dá)式和布爾表達(dá)式。l
內(nèi)存效率
內(nèi)存限制大多已是過去的事了。低成本內(nèi)存提供了大的物理地址空間,虛存管理為應(yīng)用軟件提供了巨大的邏輯地址空間,對(duì)于這樣的環(huán)境,內(nèi)存效率不等于使用最小內(nèi)存。
內(nèi)存效率必須注意考慮操作系統(tǒng)的分頁特征,代碼局域性或通過結(jié)構(gòu)化構(gòu)造功能域的管理是減少分頁和提高效率的最好辦法。盡管低成本、高密度內(nèi)存芯片發(fā)展很快,但在嵌入式微處理器領(lǐng)域中,內(nèi)存限制仍是一個(gè)非常實(shí)際非常重要的問題。如果系統(tǒng)需求(如高容量低成本產(chǎn)品)要求最小內(nèi)存,必須非常細(xì)心的對(duì)高級(jí)語言的編譯程序進(jìn)行估算,或作為最后的手段,也可以采用匯編語言。l
I/O效率當(dāng)討論I/O效率時(shí),有兩類I/O要考慮。(1)
由人支配的I/O。
(2)
取決于其他設(shè)備的(如磁盤或另一臺(tái)計(jì)算機(jī))的I/O。提高I/O效率的簡單原則:(1)
I/O要求的數(shù)量應(yīng)當(dāng)減至最小。(2)所有I/O應(yīng)當(dāng)緩存,以減少過多的通信次數(shù)。(3)對(duì)于輔存(如磁盤),應(yīng)當(dāng)選擇和使用最簡單的可接受的存取方法。(4)輔存設(shè)備的I/O,應(yīng)當(dāng)是塊狀的。終端和打印機(jī)的
I/O,應(yīng)當(dāng)考慮設(shè)備的特性,以提高質(zhì)量和速度。(5)要記住,如果超高效的I/O不能被人們所理解,那么這樣的I/O是沒有價(jià)值的。Defensiveprogrammingisaformofdefensivedesignintendedtoensurethecontinuingfunctionofapieceofsoftwareinspiteofunforeseeableusageofsaidsoftware.TheideacanbeviewedasreducingoreliminatingtheprospectofMurphy'sLawhavingeffect.Defensiveprogrammingtechniquesareusedespeciallywhenapieceofsoftwarecouldbemisusedmischievouslyorinadvertentlytocatastrophiceffect.Defensiveprogrammingisanapproachtoimprovesoftwareandsourcecode,intermsof:
Generalquality-Reducingthenumberofsoftwarebugsandproblems.
Makingthesourcecodecomprehensible-thesourcecodeshouldbereadableandunderstandablesoitisapprovedinacodeaudit.
Makingthesoftwarebehaveinapredictablemannerdespiteunexpectedinputsoruseractions.西方的“墨菲定律”(Murphy'sLaw)。“墨菲定律”是這樣說的:Anythingthatcangowrongwillgowrong.:“凡事只要有可能出錯(cuò),那就一定會(huì)出錯(cuò)?!?保護(hù)性編程(defensiveprogramming)最常見的defensiveprogramming方法是加assertion(就是一種強(qiáng)制檢查),比如:
在訪問一個(gè)內(nèi)存地址之前,先檢查指向那里的指針是否有效。在win32平臺(tái)上可以加入<assert.h>,然后就可以用assert(bool)這個(gè)函數(shù)。如果檢查出這里有錯(cuò),程序就會(huì)被中斷在這行語句處,同時(shí)在終端打印出文件名、行號(hào)、和assert的內(nèi)容.對(duì)于認(rèn)為編寫程序可以做到完全沒有錯(cuò)誤的人來說,在軟件中建立檢查的意義不大。相反,對(duì)于相信軟件中總會(huì)有遺留錯(cuò)誤的人來說,進(jìn)行軟件內(nèi)部的錯(cuò)誤檢查則是一項(xiàng)重要策略,這種策略就是保護(hù)性編程。保護(hù)性編程技術(shù)可分為主動(dòng)和被動(dòng)兩種:
主動(dòng)保護(hù)技術(shù)周期性的或在空閑時(shí)間對(duì)整個(gè)程序或數(shù)據(jù)庫進(jìn)行搜索,用以發(fā)現(xiàn)異常情況。
被動(dòng)保護(hù)技術(shù)是在到達(dá)檢查代碼時(shí),對(duì)程序的某些部分進(jìn)行檢查。反對(duì)保護(hù)性編程人員提出了許多逃避保護(hù)性編程的理由:(1)“我們的程序中即使有錯(cuò)誤,也是很少的,所以不需要保護(hù)性編程?!保?)“要求采用他人的程序來檢查和發(fā)現(xiàn)我的程序錯(cuò)誤,這是不公正的?!保?)“錯(cuò)誤檢查降低了計(jì)算機(jī)系統(tǒng)的速度,而且還要求額外的內(nèi)存?!保?)“錯(cuò)誤檢查要占用很多編程時(shí)間?!保?)“可以在我的程序中加入錯(cuò)誤檢查,不過一旦程序通過測試,就應(yīng)把它撤去。”
對(duì)這些反對(duì)意見的回答,都直接或間接的與程序中預(yù)料的錯(cuò)誤數(shù)及其潛在后果有關(guān)。
如果相信錯(cuò)誤無所不在,即有相當(dāng)數(shù)量的錯(cuò)誤在晚期發(fā)現(xiàn)是不可避免的,就必須采用保護(hù)性編程。
如果這種保護(hù)在測試階段對(duì)我們有幫助,則肯定要在程序操作使用時(shí)繼續(xù)將其包括在內(nèi)。
如果承認(rèn)錯(cuò)誤會(huì)出現(xiàn)這一事實(shí),則比起因出現(xiàn)錯(cuò)誤所帶來的責(zé)難來說,增加一些工作量是有意義的。
另一方面,基于運(yùn)行時(shí)間、存儲(chǔ)空間和編程費(fèi)用等方面的反對(duì)意見:僅當(dāng)保護(hù)性編程要求設(shè)計(jì)增加的資源量相當(dāng)大時(shí)需慎重考慮。事實(shí)上,只有在極少數(shù)情況下,保護(hù)性編程所要求增加的資源量才會(huì)相當(dāng)大,以致不得不放棄考慮這種技術(shù)。
Yourdon曾提出過一個(gè)建設(shè)性意見:
在設(shè)計(jì)過程的早期就把保護(hù)性編程包括進(jìn)去。在設(shè)計(jì)過程中,大多數(shù)設(shè)計(jì)在填充可用存儲(chǔ)空間時(shí),其規(guī)模都增加的很快,如果企圖在設(shè)計(jì)過程的結(jié)尾再引入保護(hù)性編程,則肯定已沒有剩余空間。而且在近乎完成的設(shè)計(jì)中,移動(dòng)任何部分?jǐn)D出空間的任何做法,都會(huì)招致強(qiáng)烈的反對(duì)。但如果在一開始就把保護(hù)性編程包括進(jìn)來,在希望增加新的保護(hù)性特征時(shí),就能容易的避開設(shè)計(jì)中的討價(jià)還價(jià)。
另一個(gè)要考慮的重要事項(xiàng)是檢查哪些項(xiàng)目?盡管可以不受冗余編程概念的約束并檢查不合理的情況,如果企圖檢查所有項(xiàng)目,實(shí)質(zhì)上是實(shí)現(xiàn)冗余編程。關(guān)于這個(gè)問題,Shooman建議設(shè)計(jì)人員先準(zhǔn)備以下列表,以利于做出正確的判斷。
(1)可能需要檢查的項(xiàng)目表,應(yīng)附有對(duì)編程時(shí)間、運(yùn)行時(shí)間及存儲(chǔ)要求的開銷估計(jì)。
(2)各種類型錯(cuò)誤出現(xiàn)的期望數(shù)據(jù)表,應(yīng)標(biāo)出每種類型錯(cuò)誤可能造成的后果。研究這些信息有助于設(shè)計(jì)者確定應(yīng)進(jìn)行的檢查。保護(hù)性編程中的典型檢查項(xiàng)目(1)來自外部設(shè)備的輸入數(shù)據(jù)(范圍、屬性)。(2)由其他程序提供的數(shù)據(jù)。(3)數(shù)據(jù)庫(數(shù)組、文件、結(jié)構(gòu)、記錄)。(4)操作員的輸入(性質(zhì)、順序)。(5)棧的深度。(6)DOCASEI中的I范圍(并計(jì)算GOTO)。
(7)數(shù)組界限。(8)表達(dá)式中出現(xiàn)零分母的可能性。(9)所期望的程序版本是否在運(yùn)行(最后系統(tǒng)重新組合的日期)。(10)通過其他程序或外部設(shè)備的輸出。
以上討論的所有保護(hù)技術(shù)都是被動(dòng)式保護(hù)技術(shù),因?yàn)楸仨毜鹊侥硞€(gè)輸入之后才能開始檢查。而主動(dòng)式保護(hù)技術(shù)則既可在處理輸入信息期間使用,也可在系統(tǒng)空閑或等待下一次輸入時(shí)使用。
幾種應(yīng)用主動(dòng)式保護(hù)技術(shù)的例子。
(1)存儲(chǔ)器范圍檢查如果只在存儲(chǔ)器的某些塊中存放了某種類型和范圍的數(shù)據(jù),則可經(jīng)常檢查這些條件。
(2)標(biāo)志驗(yàn)證如果采用標(biāo)志來指示系統(tǒng)的狀態(tài),則可經(jīng)常對(duì)它們作獨(dú)立的檢查。
(3)逆翻譯有時(shí)必須將數(shù)據(jù)或變量值從一種代碼或系統(tǒng)翻譯為另一種代碼或系統(tǒng),可以利用反變換來檢查原始值的翻譯是否正確。(4)狀態(tài)驗(yàn)證在多數(shù)情況下,復(fù)雜系統(tǒng)由多個(gè)操作狀態(tài),它們可以采用某些特定的存儲(chǔ)值來表示。如果能夠獨(dú)立的驗(yàn)證這些狀態(tài),就可以進(jìn)行檢查。
(5)連接檢查使用鏈表結(jié)構(gòu)時(shí),可以對(duì)其連接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度特許經(jīng)營合同的特許經(jīng)營范圍和條件2篇
- 2024辣椒購銷合同中的環(huán)保要求和責(zé)任
- 二零二五年度汽車租賃合同糾紛解決條款2篇
- 2024版銷售代理協(xié)作協(xié)議樣本版B版
- 二零二五年度挖機(jī)租賃與運(yùn)輸服務(wù)合同3篇
- 2024版購房定金買賣合同
- 2025年度環(huán)保設(shè)備新品進(jìn)場銷售協(xié)議2篇
- 二零二五年度電動(dòng)窗簾產(chǎn)品出口貿(mào)易合同2篇
- 遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院《應(yīng)用光學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 河源職業(yè)技術(shù)學(xué)院《數(shù)學(xué)文化與數(shù)學(xué)思維》2023-2024學(xué)年第一學(xué)期期末試卷
- 公租房續(xù)租申請書范文示例
- 事故處理程序全套
- 2023年社工考試《社會(huì)工作綜合能力》(初級(jí))真題(含答案)
- 2023-2024學(xué)年江蘇省徐州市九年級(jí)(上)期中物理試卷
- 硅石項(xiàng)目建議書范本
- 起重機(jī)械安全生產(chǎn)隱患課件
- 概率論在金融風(fēng)險(xiǎn)評(píng)估中的應(yīng)用研究
- 信訪十種情形追責(zé)問責(zé)制度
- 大型儲(chǔ)罐施工工法倒裝法安裝
- 手機(jī)歸屬地表格
- 一年級(jí)上冊數(shù)學(xué)思維教材
評(píng)論
0/150
提交評(píng)論