




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目前 基本原 命名規(guī) Certainabbreviations e 布 文件布 基本格 對 空行空 斷 注 變量、常量與類 類 表達式與語 函數(shù)與過 參 內(nèi)部實 函數(shù)調(diào) 可靠 內(nèi)存使 指針使 類和函 可測試 斷言與錯誤處 附 附錄A編程模 附錄B規(guī)范檢查 參考文 前的可讀性、可靠性和可重用性,提高源程序的質(zhì)量和可性,減少算法程序是針對C/C++語言的編程規(guī)則,其它不同編程語言可以參照此規(guī)范執(zhí)行。適用于本研究室所有算法的軟件源程序,同時考慮到不同項目的實際開發(fā)特性,分成規(guī)則性和建議性兩種:對于規(guī)則性規(guī)范,要求所有選擇執(zhí)行。的示例都以C/C++語言描述。對中所使用的術(shù)語解釋如下:反例:對此規(guī)則或建議給出的例子。<請結(jié)合例子理解規(guī)則>算法軟件研制規(guī)范小說明:ANSICANSIC未定義的或編譯器擴說明:過多地使用全局變量,會導(dǎo)致模塊間的緊耦合,模塊化的要求,最好不用說明:盡量選擇可借用的代碼,對其修改優(yōu)化以達到自身要求。好名規(guī)則能極大地增加可讀性和可性。同時,對于一個有上百個人共同完成CIInvalidate,PrivateDatam_valid,StaticdatacurSlp,Globalg_fOleInit,Constants,GR_STYLEPLAIN,pPointerto(32-bitisnowassumed;thusnoneedforPointertoahHandleto, pointer(illegaltoReferenceto(eg:whenpassingparametersbyreferenceinArrayof(ie:itemsstoredsequentiallyinmemory).Note:rgisoftenzTerminatedarrayCHAR*,String,Ctype(ie:arrayof8-bitcharacters,nullcharacterterminated)orWCHAR*,UnicodeTCHAR*,FlexibleUnicode/DBCSsSignedinteger,16-lSignedinteger,32-Unsignedinteger,16-Unsignedinteger,32-bNon-countingpurposes,8-bitwNon-countingpurposes,16-bitNon-countingpurposes,32-bitiScalablesigneduScalableunsignedFloatingpoint,32-bit,6-7significantdFloatingpoint,64-bit,15-16signigicantCharacter,flexibleUnicodeorFunction:alwaysusedwithatypeprefix(eg:pfnispointertovVoid:alwaysusedwithatypeprefix(eg:pvispointertofboolorfmeans Certainabbreviations eStatusorSelectorWe mendusingthefollowingstandardprefixesformemberfunctionFunctionTypeofQueryoperationsthatreturnaGetsaSet…orSetsaCreatesorduplicatesaC++object.Use“Duplicate”foramethodthattheobjectitself.ObjectsreturnedbythesefunctionsmustbedisposedwithProtectednotificationmethodsusuallyoverriddenbyclients.WherebothOnAftermethodsareprovided,Oniscalledpriortotheevent,andAfteriscalledModifieroperations(namedwithactiveverbtosucceedandnotthrowan variable_namevariablename很難區(qū)分, 正例:如下單詞的縮寫能夠被大家認可:temp可縮寫為tmp flag可縮寫為;statistic可縮寫為stat;increment可縮寫為inc 可縮寫為 HighPriorityI/O說明:下面是一些在軟件中常用的反add/remove;begin/end ;create/destroy ;insert/delete first/last ;get/release;increment/decrement ;put/get ;add/delete ;lock/unlock;open/close ;min/max old/new;start/stop;next/previous ;source/target;show/hide;send/receive;source/destination;cut/paste;up/down使用下劃線‘_’開始。說明:變量,尤其是局部變量,如果用單個字符表示,很容易出錯(如l誤寫成1),而編譯邏輯流程變得模糊,給修改帶來,所以應(yīng)當(dāng)選擇精煉、意義明確的名字,才能說明:盡管局部變量和全局變量的作用域不同而不會發(fā)生語法錯誤,但容易使人誤解。說明:變量活動范圍前綴規(guī)范 :::空:【規(guī)則【規(guī)則說明:常用變量類型前綴列表 : : : : :unsignedchar或BYTE :long : : : :unsignedshort或WORDdw:DWORD或unsignedlong :數(shù)組,arrayofTYPE 正例 g_fValue; 4-12】函數(shù)名用大寫字母開頭的單詞組合而成,且應(yīng)當(dāng)使用“動詞”或者“動詞+加上C,類的成員變量統(tǒng)一 面加m_前綴。說明:C++BuilderT。C++Builder中的類的成員變量和控件命名習(xí)慣上不加m_前綴。正例{m_iWidth=iWidth;m_iHeight=iHeight;}說明:這樣做的目的是為了代碼的可布文件布#ifndef文件名_H(全大寫)#define文件名_H(teplate正例
/ typedefunsignedcharBOOLEAN; intDoSomething(void);#ifndefMODULE_H 引號“”正例
#include<stdio.h>#include說明
基本格 過80列不論執(zhí)行語句有多少都要加{}。 if(varible1<{varible1=}if(varible1<varible2)varible1=正例
反例
說明:這樣便于程序閱讀和查找。正例 = = // =反例 =10; =5;對說明:產(chǎn)生的文件中用TAB鍵進行縮進,以消除不同編輯器對TAB處理的差異,有{}說明:這樣使代碼便于閱讀,并且方dowhile語句和結(jié)構(gòu)的類型化時可以例外,while}voidFunction(int //獨占一行并與語句左對齊while{ //與4}}反例voidFunction(intiVar){while類的時候,public、protected、private關(guān)鍵字與分界符{}正例
class{ //與{CCount //~CCount(void);voidSetCount(intint}正例
intaiNumbers[4][3]{1,1,2,4,3,9,4,16,}正例
說明:使程序可讀性更好。正例
switch{case{ //4}case //} //case{}}空行空void{[Hey實現(xiàn)代碼}//void{[Ack實現(xiàn)代碼}反例:例子中的兩個函數(shù)的實現(xiàn)是兩個邏輯程序塊,應(yīng)該用空行加以分隔。void{[Hey實現(xiàn)代碼}void{[Ack實現(xiàn)代碼}正例
【規(guī)則【規(guī)則正例
iNumber+= 說明:if、for、 等關(guān)鍵字之后應(yīng)留一個空格再跟左括號‘(’,以突出關(guān)鍵字函數(shù)名后緊跟左(’,以與關(guān)鍵字區(qū)別。正例{DoSomething(iWidth,凵}正例
/*//斷說明:條件表達式的續(xù)行在第一個條件處對齊 循環(huán)語句的續(xù)行在初始化條件語句處正例
if((iFormat==&&iOfficeTypeCH_BSC_M{}for {}//函數(shù)的續(xù)行在第一個參數(shù)處對BYTEBYTE//+ 正例
反例externdouble注釋采用“//…”?!疽?guī)則【規(guī)則3-2】一般情況下,源程序有效注釋量必須在20%以上說明:對于特殊要求的可以使用英文注釋,如工具不支持中文或版本3-4】文件頭部必須進行注釋,包括:.h文件、.c文件、.cpp文件、.inc文件、.def文件、編譯說明文件.cfg等。正例下面是文件頭部的中*(C)2001,圖像識別與人工智能圖像分析研究室*////內(nèi)容://簡要描述本文件的內(nèi)容,包括主要模塊、函數(shù)及其功能的說//// 者://輸入作者名字及單完成日期://輸入完成日期,例 年月修改日 -------------------------------------------------------------- 下面是文件頭部的英Copyright(C)2001,File //文件名(注釋對齊File // // // // //輸入完成日期,例:2001-12-Modify -----------
-----
------
-----
------ 正例
下面是函數(shù)頭部的中修改日 *-----------
-----
------
-----
------* Modify -----------
-----
------
-----
------ void{if{…while{… /*endofwhile //指明該條while… /*endofif // endofvoid //說明:在使用縮寫時或之前,應(yīng)對縮寫進行必要的說明。正例
/*iSubSysIndex=/*1*/[代碼段1]/*2*/[代碼段2]/*iSubSysIndex=iSubSysIndex=/*/*1*/[代碼段1]/*2*/[代碼段2]正例
變量范圍:例如0- 1-TableBYTE說明:可使程序排版整齊,并方便注釋的閱讀與理解正例
int{/*1*/[代碼段1]/*2*/[代碼段2]}反例
int{/*1[1/*2[2}說明:清晰準確的函數(shù)、變量名,可增加代碼的可讀性,減少不必要的注釋說明:在使用縮寫時,應(yīng)對縮寫進行變量、常量與類型變量與常量說明:全局變量關(guān)系到程序的結(jié)構(gòu)框架,對于全局變量的理解關(guān)系到對整個程正例 {WORDwValue;WORD return}反例{WORDwLocate= 具有兩return}說明:循環(huán)語句只完成循環(huán)控制功能,if語句只完成邏輯判斷功能,不能完成計算賦值功正例{[處理語句cInput=}while(cInput==反例{[處理語句}while(cInput= ((A)/(B反例 (A/5-1-6】使用宏定義多行語句時,{}說明:在宏定義中,對多行語句使用大括號,可以避免可能發(fā)生的錯誤。 說明:減少全局變量操作引起正例:在源文件中,可按如下注釋形 變 關(guān) 函 創(chuàng) 修 StatScore(constT_Student*ptStudent)PrintRec(constT_Student {T_Student[獲取g_tStudent的權(quán)]tStudentValueg_tStudent;[釋放g_tStudent的權(quán)]returntStudentValue;} {ucIfSuccess=0;[獲取g_tStudent的權(quán)]g_tStudent*ptStudentValue[釋放g_tStudent的權(quán)]returnucIfSuccess;} 正例
MAX_COUNT=1000; 反例
類正例
typedef{反例
}T_Student;struct{ }說明:使用統(tǒng)一的自定義數(shù)據(jù)類型,有利于程序的移植。自定義數(shù)據(jù)類型類型說明類型定義(以Win32為例邏輯類型(TRUE或unsigned無符號8unsigned有符號8signed無符號16有符號16signed無符號32unsigned有符號32signed3264正例typedefstruct{ typedefstruct{反例
typedefstruct{ 正例typedefstruct{ BYTEucSex;BYTEaucCity[15];BYTEuc;反例:如下兩個結(jié)構(gòu)的構(gòu)造不typedefstruct{ BYTEucSex;BYTEucCity[15];typedefstruct{ BYTEaucAddr[40];BYTEuc;說明:增加結(jié)構(gòu)的可理解性、可操作性和可性正例:假如認為如上的_結(jié)構(gòu)元素過多,那么可如下對之劃分typedefstruct{ BYTEtypedefstruct{BYTEaucCity[15];BYTEuc;}T_typedefstruct{ }T_typedefstruct{BYTEucValid:1;BYTEucSet:BYTEucOther //T_t反例:如下結(jié)構(gòu)中的位域排列,將占較大空間,可讀性也稍差。typedefstruct{ ucValid:T_t ucSet:}〖建議〖建議正例:假如下短整數(shù)及結(jié)構(gòu)WORDtypedefstruct{/*WORDwA1:/*02WORDwA2:/*11WORDwA3:/*20WORDwOther:}內(nèi)存 wExam低字節(jié)wExam012 內(nèi)存 wExam高字節(jié)wExam012 5-2-10〗結(jié)構(gòu)定義時,pack1,2,4,8說明:全局緊縮對齊可能會導(dǎo)致代碼效率下降表達式與語句if、for、while、goto、switch等基本語( [ - - (類型) &^| - 正例反例
iHelp=iResult=iHelp+intiBase, //iResultiBaseGetValue(&iBase一條語句實現(xiàn)多個功能,iBase正例if(((iYear%4==0)&&(iYear%100!=0))||(iYear%400==反例if(iYear%4==0&&iYear%100!=0||iYear%400==iResult=aiVar[1]+aiVar[4];反例
說明:TUREFALSE的定義值是和語言環(huán)境相關(guān)的,且可能會被重定義的。bFlagif //flagif(!bFlag) flag為假bFlagif(bFlag==TRUE)if(bFlag==1)if(bFlag==0)將整型變量用“==”或“!=”直接與0比較。正例if(iValue!=0)反例if //iValueif說明:floatdouble類型的變量,都有精度限制。所以一定要避免將浮點變量反例
if((fResultEPSINON&&(fResultEPSINON))if(fResult==0.0) //隱含錯誤的比較NULL正例反例
ifpHead if(pHead!=ifpHead pHeadif(pHead!=if pHeadifswitch({{}case{}{}}
[處理語句正例{||(tAp[iPortNo].bStaacpActivity!=PASSIVE))&&(abLacpEnabled[iPortNo])&&}while說明:switchcase語句比較多時,會降低程序的效率。extern extern …if{}說明:NUM1次邏輯判斷。并且由于前者總要進NUM非常 intNUM=正例if{for(i=0;i<NUM;{}}{for(i=0;i<NUM;{}}反例
for(i=0;i<NUM;{if{}{}}
…for(i=0;i<NUM;{}反例 …for(i=0;i<=NUM-1;{}〖建議〖建議if(NULL==if(0==pNULLifpTailNULL是合法的,但是會指出if(NULL=pTail)是錯誤的,因為NULL不能被賦值。參【【規(guī)則7-1-1】如果函數(shù)沒有參數(shù),則用void填充說明:函數(shù)在說明的時候,可以省略參數(shù)名。但是為了提高代碼的可讀性,要求不能省略。正例voidSetValue(intiWidth,intiHeight);floatGetValue(void);反例
voidSetValue(int,int);floatGetValue();【【規(guī)則7-1-2】如果參數(shù)是指針,且僅作輸入用,則應(yīng)在類型前加const說明:防止該指針在函數(shù)體內(nèi)被意外正例
intGetStrLen(constchar說明:參數(shù)的順序要遵循程序員的習(xí)慣。如輸入?yún)?shù) 面,輸出參數(shù)放在后面等正例
時很難知道該參數(shù)到底傳達的是什么意思;其次BOOLEAN參數(shù)值不利于擴充。返回 為void類型說明:C語言中,凡不加類型說明的函數(shù),一律自動按整型處理。如果不注明類型,容易被誤解為void類型,產(chǎn)生不必要的麻煩。C函數(shù),為了避免,規(guī)定任何C/C++函數(shù)都必須有類型?!尽疽?guī) 7-2-2】對于有返回值的函數(shù),每一個分支都必須有返回值同異常退出。避免使用TRUE或FALSE作為返回值。正例
int反例
內(nèi)部實【【規(guī) 7-3-1】對輸入?yún)?shù)的正確性和有效性進行檢查說明:很多程序錯誤是由參數(shù)引起的,我們應(yīng)該充分理解并正確處理來防止此類錯誤【【規(guī)則7-3-2】防止將函數(shù)的參數(shù)作為工作變量。正例voidSumData(intiNum,int*piData,int*piSum{intiCountint //“和”的臨時變iSumTmp=for(iCount=0;iCount<iNum;{iSumTmp+=}*piSum=}反例
voidSumData(intiNum,int*piData,int*piSum{int*piSum=for(iCount=0;iCount<iNum;iCount++{*piSum //piSum成了工}}說明:帶有 ”功能的函數(shù),其行為可能是不可預(yù)測的,因為它的行為可能取決于正例
intAdd(intiParaOne,int{return(iParaOne+}intSub(intiParaOne,int{return(iParaOne–}反例
{ //參數(shù)標記為“求和{}{}}
return(iParaOne+正例void{// = =}void{//tPoint.wX=tPoint.wY=}反例
void{// = =//tPoint.wX=tPoint.wY=}說明:冗長的函數(shù)不利于調(diào)試,可讀 正例intMax(intiParaOne,int{intiMaxValue=(iParaOne>iParaTwo)?iParaOne:return}反例iMaxValue=(iParaOne>iParaTwo)?iParaOne:函數(shù)調(diào)用【【規(guī) 7-4-1】必須對所調(diào)用函數(shù)的錯誤返回值進行處理 正例intiResult=DbAccess(EV_GETRADIOCHANNEL,ptReq,ptAck);switch(iResult){case //{}case //{}{[其它處理}}[正常處理反例
1,表明函數(shù)的調(diào)用層次可能過多,這樣不利于程序閱讀和函數(shù)結(jié)構(gòu)的分析,數(shù)除外)通常是3-5。扇出太大,一般是由于缺乏中間層次,可適當(dāng)增加中間層次可靠性內(nèi)存使用 正例constintMAX_USE_NUM=10 1-10unsignedcharaucLogin[MAX_USR_NUM]={0,0,0,0,0,0,0,0,0,0};{unsignedchar{…}}反例constintMAX_USE_NUM=10 1-10unsignedcharaucLogin[MAX_USR_NUM]={0,0,0,0,0,0,0,0,0,0};voidArrayFunction(void){unsignedcharforucUserNo1;ucUserNo11;ucUserNo++)//10{…}}和分配成對以防止內(nèi)存泄漏,釋放后內(nèi)存指針置為NULL。 正例{unsignedchar*pucBuffer=NULL;ifNULL //{//} //pucBuffer //…}freemalloc。執(zhí)行時究竟調(diào)用哪個函數(shù),取決于是要縮小 指針使用【【規(guī)則8-2-1】指針類型變量必須初始化為NULL說明:可以防止不必要的類型轉(zhuǎn)換錯誤。說明:BYTE的移位后還是BYTE,如將4個字節(jié)拼成一個long,則應(yīng)先把字節(jié)轉(zhuǎn)化成long正例unsignedcharucMove;unsignedlonglMove;unsignedlonglTemp;ucMove=lTemp=(unsignedlong)lMove=(lTemp<<8)|lTemp; /*4*/lMove=(lMove<<16)|lMove;反例unsignedcharucMove=0xA3;unsignedlonglMove;lMove=(ucMove<<8)|ucMove; /*4*/lMove=(lMove<<16)|lMove; 說明:尤其對全局變量賦值時,應(yīng)進行檢查,以提高代碼的可靠性、穩(wěn)定性類和函 class{CCount~CCount(void);voidSetCount(intiCount);int} class{…CBase&operateconstCBase&other)CBase classCDerived:public{…CDerived&operate(constCDerived&other);//CDerivedCDerived&CDerived::operate=(constCDerived{ifthis //(1)檢{return}CBase::operate //m_iLength=other.m_iLength; m_iHeigth=return //(4)返回本對}說明:Init(…)函數(shù),不能完全在構(gòu)造反例
class{CString(constchar*pStr // //~ // // //{if(pStr=={}{
=new =intiLength=m_pData=newchar[iLength+}} {delete //pDatadelete}{ CstringC=CStringA; //拷貝構(gòu)造函數(shù)CStringC=CStringB; //賦值函數(shù)CStringB.pData=CStringA.pData;//這將造成三個錯誤:/*1.CStringB.m_pData原有的內(nèi)存沒被釋放,造成內(nèi)存2.CStringB.m_pData和CStringA.m_pData指向同一塊內(nèi)存,CStringA}8-3-1〗編寫可重入函數(shù)時,若使用全局變量,則應(yīng)通過信號量(P、V操作)等正例
unsignedintExample(int{unsignedint = SquareExam(return}反例unsignedintExample(intiPara{unsignedint = =return}此函數(shù)若被多個進程調(diào)用的話,其結(jié)果可能是未知的,因為當(dāng)全局變量語句剛正例 {CMyClass*pMyClass= newCMyClass(void);//ifpMyClass //{…deletepMyClass //pMyClass=…}…}反例void{ // 如果分配不成功,則對實例成員的是… // 為virtual說明:過多 元函數(shù)會導(dǎo)致程序結(jié)構(gòu)不清晰說明:本規(guī)則是針對項目組或產(chǎn)品組的。說明:統(tǒng)一的調(diào)測信息格式便于集成說明:本建議是針對項目組或產(chǎn)品組的。說明:為模塊測試做準備?!冀ㄗh〖建議說明:說明:以下改正錯誤的方法可以為編寫可測試性代碼提供思路:斷言與錯誤處理可以快速發(fā)現(xiàn)并定位軟件問題,同時對系統(tǒng)錯誤進行自動。斷言可以對在系統(tǒng)中隱藏很深,用其它極難發(fā)現(xiàn)的問題進行定位,從而縮短軟件問題定位時間,提高系統(tǒng)的可10-1】整個軟件系統(tǒng)應(yīng)該采用統(tǒng)一的斷言。如果系統(tǒng)不提供斷言,則應(yīng)該自己構(gòu)造#defineASSERT_EXIT_M #defineASSERT_CONTINUE_M打印程序發(fā)生錯誤或異常的文件,行號,繼續(xù)適當(dāng)?shù)姆绞酵ㄖ幕蚪y(tǒng)計程序,該宏一般在RELEASE版本中使用。10-2寫防錯程序,而不是斷言。如某模塊收到其它模塊或鏈的消息后,要對消息的合理性 反例
Assert((ptStru!=&&(ptStru->ptForward!=&&(ptStru->ptForward->ptBackward!=NULL));Assert(ptStru->ptForward->ptBackward!=NULL);說明:為復(fù)雜的斷言加注釋,可澄清斷言含義并減少不必要的誤用。正例constCHARASYN_EVENT=0;constCHAR ={CHAR //AssertptMsg // // //}【規(guī)則【規(guī)則10-6】用調(diào)測開關(guān)來切換軟件的DEBUG版和RELEASERELEASE版本和DEBUG版本的不同源文件,以減 的難度說明:DEBUGRELEASE版的源文件相同,通過調(diào)測開關(guān)來進行區(qū)分,有利于版本說明:加快軟件運行速度。 說明:即有測試代碼的軟件和關(guān)掉測試代碼的軟件,在功能行為上應(yīng) 說明:對 版本不用的測試代碼可以通過斷言來檢查測試代碼中的情況〖〖建 10-1〗用斷言對程序開發(fā)環(huán)境 piler/Hardware)的假設(shè)進行檢查占用的內(nèi)存空間是否為2個字節(jié):Assert(sizeof(int)==正例#ifdef //{printf(“\n[EXAM]ErrorReport:%s,ling%u\n”,pcFileName,wLineno);}if //{} //{AssertReport(_FILE_,} //#defineASSERT_REPORT(condition) //斷言結(jié)束{{case{ //MSG_ONEretum} //{ //retum}}} 正例 StoreCsrMsg(WORD { AssertwIndex //AssertptMsgCSR // //return}正例{ //AssertptCdata // //return}說明:對于C++程序中任何可能出現(xiàn)異常的地方,都要使用異常判斷,并且顯示的處理異說明:為了增強模塊的可移植性,C++程序中應(yīng)該盡量少使用自定義適用于C++。為方便調(diào)試,增加程序可讀性,一個try{}中應(yīng)該只處理一條可產(chǎn)生異語句出現(xiàn)在一起,應(yīng)該嵌套在不同的Try-catch語句中。強烈建議英文版的VC6.0上安裝上《Visual.Assist.v6.》輔助 *(C)2001*////內(nèi)容://簡要描述本文件的內(nèi)容,包括主要模塊、函數(shù)及其功能的說//// 者://輸入作者名//輸入完成日期,例:2000225修改日 版本 修改 #pragma#include<dos.h> 常 #define /*#define/*#define/*SMCCNCP #defineNcpCmd1DesAddr(bf_ptr*(ULONG*const)(bf_ptr* enumTimerState{Idle,Active,Done}; 類 *class /*{TimerStateTimerTypeType;unsignedintiLength;unsignedintiCount; staticvoid 模 *externTimerg_
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋出租協(xié)議合同書
- 廠房挖路修路合同范本
- 醫(yī)院檢驗聘用合同范本
- 2025廣東省安全員C證考試(專職安全員)題庫附答案
- 兒童樂園實施合同范本
- 冷棚維修合同范本
- 商品房樓頂鋼結(jié)構(gòu)施工方案
- 單位食堂人員合同范本
- 2025貴州省建筑安全員-A證考試題庫附答案
- 公司內(nèi)包合同范本
- 《高尿酸血癥腎損害》課件
- 天然氣公司巡視檢查管理細則(3篇)
- 九年級道德與法治下冊 第一單元 我們共同的世界 第二課 構(gòu)建人類命運共同體 第2框《謀求互利共贏》說課稿 新人教版
- 遼寧省營口市2024-2025學(xué)年七年級上學(xué)期期中語文試題
- 《畫垂線和平行線》(教案)2023-2024學(xué)年數(shù)學(xué)四年級上冊
- GB/T 44770-2024智能火電廠技術(shù)要求
- 經(jīng)典女士剪發(fā)技術(shù)圖解教程
- 2023年護理人員分層培訓(xùn)、考核計劃表
- 第二章-高壓開關(guān)電器
- 腫瘤病人的姑息治療和護理
- 人工智能在人力資源招聘中的創(chuàng)新應(yīng)用
評論
0/150
提交評論