版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件制造工程軟件制造工程 第四章第四章 編程編程 第四章第四章 軟件編程軟件編程v選擇程序設(shè)計語言選擇程序設(shè)計語言v編碼規(guī)范編碼規(guī)范v代碼版本控制代碼版本控制4.1 選擇程序設(shè)計語言選擇程序設(shè)計語言v有多少種編程語言?各編程語言的流行度有多少種編程語言?各編程語言的流行度(所所占的市場份額占的市場份額)?vTIOBE組織,對組織,對20多種語言進行統(tǒng)計排行多種語言進行統(tǒng)計排行網(wǎng)址:網(wǎng)址: http:/ 劃代劃代語言語言特點特點級別級別1GL機器語言機器語言程序不直觀,編程出錯率高程序不直觀,編程出錯率高運行效率高,使用運行效率高,使用CPU硬件硬件低級低級2GL匯編語言匯編語言比機器語言直觀,
2、減少了出錯率比機器語言直觀,減少了出錯率與機器碼一樣長與機器碼一樣長使用于嵌入式開發(fā),驅(qū)動程序使用于嵌入式開發(fā),驅(qū)動程序3GL面向過程語言,面向過程語言,C語法簡潔,速度快,使用嵌入式語法簡潔,速度快,使用嵌入式,驅(qū)動程序,系統(tǒng)軟件,服務(wù)器,驅(qū)動程序,系統(tǒng)軟件,服務(wù)器程序程序高級高級4GL面向?qū)ο笳Z言,面向?qū)ο笳Z言,JAVA,C#, C+Java:虛擬機,跨平臺,垃圾回虛擬機,跨平臺,垃圾回收機制,使用收機制,使用Web應用程序,信應用程序,信息管理系統(tǒng)息管理系統(tǒng)C#:微軟平臺微軟平臺,垃圾回收機制垃圾回收機制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代碼組織與風格代碼組織與風格v注釋注釋v命名命名 v聲明聲明v語句結(jié)構(gòu)語句結(jié)構(gòu)4.2.1 代碼組織與風格代碼組織與風格1 基本原則基本原則 v代碼組織的目的:美觀代碼組織的目的:美觀v代碼的組織和風格的基本原則是:便于自代碼的組織
4、和風格的基本原則是:便于自己的開發(fā),己的開發(fā),易于與他人的交流易于與他人的交流。v因個人習慣和編輯器等可以設(shè)置和形成自因個人習慣和編輯器等可以設(shè)置和形成自己的風格,但必須前后一致,并符合本規(guī)己的風格,但必須前后一致,并符合本規(guī)范的基本要求和原則。范的基本要求和原則。3.3.1 代碼組織與風格代碼組織與風格2 縮進縮進 v子功能塊當在其父功能塊后縮進。子功能塊當在其父功能塊后縮進。 v當功能塊過多而導致縮進過深時將子功能塊提取出來做為當功能塊過多而導致縮進過深時將子功能塊提取出來做為子函數(shù)。子函數(shù)。 v代碼中以代碼中以TAB(4個字符)縮進,在編輯器中請將個字符)縮進,在編輯器中請將TAB設(shè)設(shè)置
5、為以空格替代,否則在不同編輯器或設(shè)置下會導致置為以空格替代,否則在不同編輯器或設(shè)置下會導致TAB長長度不等而影響整個程序代碼的格式。例如:度不等而影響整個程序代碼的格式。例如: 縮進示例:縮進示例: public void methodName() if(some condition) for() /some sentences /end for /end if 3.3.1 代碼組織與風格代碼組織與風格3長度長度 v為便于閱讀和理解,單個函數(shù)的有效代碼長度當為便于閱讀和理解,單個函數(shù)的有效代碼長度當盡量控制在盡量控制在100行以內(nèi)(不包括注釋行),當一行以內(nèi)(不包括注釋行),當一個功能模塊過大
6、時往往造成閱讀困難,因此當使個功能模塊過大時往往造成閱讀困難,因此當使用子函數(shù)等將相應功能抽取出來,這也有利于提用子函數(shù)等將相應功能抽取出來,這也有利于提高代碼的重用度。高代碼的重用度。 v單個類也不宜過大,當出現(xiàn)此類情況時當將相應單個類也不宜過大,當出現(xiàn)此類情況時當將相應功能的代碼重構(gòu)到其他類中,通過組合等方式來功能的代碼重構(gòu)到其他類中,通過組合等方式來調(diào)用,建議單個類的長度包括注釋行不超過調(diào)用,建議單個類的長度包括注釋行不超過1500行。行。 v盡量避免使用大類和長方法。盡量避免使用大類和長方法。3.3.1 代碼組織與風格代碼組織與風格4行寬行寬 頁寬應該設(shè)置為頁寬應該設(shè)置為80字符。一般
7、不要超過這個字符。一般不要超過這個寬度寬度, 這會導致在某些機器中無法以一屏來這會導致在某些機器中無法以一屏來完整顯示完整顯示, 但這一設(shè)置也可以靈活調(diào)整。在但這一設(shè)置也可以靈活調(diào)整。在任何情況下任何情況下, 超長的語句應該在一個逗號后超長的語句應該在一個逗號后或一個操作符前折行。一條語句折行后或一個操作符前折行。一條語句折行后, 應應該比原來的語句再縮進一個該比原來的語句再縮進一個TAB或或4個空格,個空格,以便于閱讀。以便于閱讀。 3.3.1 代碼組織與風格代碼組織與風格5間隔間隔 v 類、方法及功能塊間等應以空行相隔,以類、方法及功能塊間等應以空行相隔,以增加可讀性,但不得有無規(guī)則的大片
8、空行。增加可讀性,但不得有無規(guī)則的大片空行。 v 操作符兩端應當各空一個字符以增加可讀操作符兩端應當各空一個字符以增加可讀性。性。 v 相應獨立的功能模塊之間可使用注釋行間相應獨立的功能模塊之間可使用注釋行間隔,并標明相應內(nèi)容隔,并標明相應內(nèi)容 例3.3.1 代碼組織與風格代碼組織與風格6 對齊對齊 v關(guān)系密切的行應對齊,對齊包括類型、修飾、名關(guān)系密切的行應對齊,對齊包括類型、修飾、名稱、參數(shù)等各部分對齊。稱、參數(shù)等各部分對齊。 v連續(xù)賦值時當對齊操作符。連續(xù)賦值時當對齊操作符。 v當方法參數(shù)過多時當在每個參數(shù)后(逗號后)換當方法參數(shù)過多時當在每個參數(shù)后(逗號后)換行并對齊。行并對齊。 v當控
9、制或循環(huán)中的條件比較長時當換行(操作符當控制或循環(huán)中的條件比較長時當換行(操作符前)、對齊并注釋各條件。前)、對齊并注釋各條件。 v變量定義最好通過添加空格形成對齊,同一類型變量定義最好通過添加空格形成對齊,同一類型的變量應放在一起的變量應放在一起 例/*變量對齊變量對齊-*/ 代碼對齊和間隔示例代碼對齊和間隔示例 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 /當條件一當條件一 & Condition2 /并且條件二并且條件二 | Condition3) /或者
11、條件三或者條件三 /*相應獨立的功能模塊之間可使用注釋行間隔,并標明相應內(nèi)容相應獨立的功能模塊之間可使用注釋行間隔,并標明相應內(nèi)容*/for(int i = 0; i productCount.length; /循環(huán)終止條件循環(huán)終止條件 i+) 3.3.1 代碼組織與風格代碼組織與風格7 括號括號 中的語句應該單獨作為一行,左括號中的語句應該單獨作為一行,左括號當緊跟當緊跟其語句后,右括號其語句后,右括號永遠單獨作為一行且與其匹永遠單獨作為一行且與其匹配行對齊,并盡量在其后說明其匹配的功能模塊。配行對齊,并盡量在其后說明其匹配的功能模塊。 較長的方法以及類、接口等的右括號后應使用較長的方法以及
12、類、接口等的右括號后應使用/end .等標識其結(jié)束。如等標識其結(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 左括號是否換行等隨個人習慣而定,若換行則當左括號是否換行等隨個人習慣而定,若換行則當與其前導語句首字符對齊。與其前導語句首字符對齊。3.3.2注釋注釋3.3.2注釋注釋1基本原則基本原則 (1) 注釋應該增加代碼的清晰度。代碼注釋的目的注釋應該
13、增加代碼的清晰度。代碼注釋的目的是要使代碼更易于被其他開發(fā)人員等理解。是要使代碼更易于被其他開發(fā)人員等理解。(2) 避免使用裝飾性內(nèi)容。避免使用裝飾性內(nèi)容。 (3) 保持注釋的簡潔。保持注釋的簡潔。 (4) 注釋信息不僅要包括代碼的功能,還應給出原注釋信息不僅要包括代碼的功能,還應給出原因。因。 (5) 不要為注釋而注釋。不要為注釋而注釋。 (6) 除變量定義等較短語句的注釋可用行尾注釋外,除變量定義等較短語句的注釋可用行尾注釋外,其他注釋當避免使用行尾注釋。其他注釋當避免使用行尾注釋。 3.3.2注釋注釋2文件注釋文件注釋 在每個文件的頭部都應該包含該文件的功能、在每個文件的頭部都應該包含該
14、文件的功能、作用、作者、版權(quán)以及創(chuàng)建、修改記錄等。作用、作者、版權(quán)以及創(chuàng)建、修改記錄等。/* = * FileName: helloworld.java * Created: 2006-9-6 20:18:53 by 彭輝彭輝 * = * Copyright: Copyright (c)成都信息工程學院成都信息工程學院, 2005-2006* = * Description: 在這兒對整個文件進行描述在這兒對整個文件進行描述* * =Modification History: 對這個文件的修改歷史進行詳細描述,一般包括版本,時間,修對這個文件的修改歷史進行詳細描述,一般包括版本,時間,修 改者
15、,改者, 修修改的內(nèi)容描述,修改的原因。改的內(nèi)容描述,修改的原因。 例如:(例如:(1)V, 2006-9-6, 彭輝彭輝, 創(chuàng)建了此文件創(chuàng)建了此文件* (2) V, 2006-10-20,彭輝,增加了,彭輝,增加了*功能,張山提出的。功能,張山提出的。*/ 3.3.2注釋注釋3類、接口注釋類、接口注釋 在類、接口定義之前當對其進行注釋,包括在類、接口定義之前當對其進行注釋,包括類、接口的目的、作用、功能、繼承于何種類、接口的目的、作用、功能、繼承于何種父類,實現(xiàn)的接口、實現(xiàn)的算法、使用方法、父類,實現(xiàn)的接口、實現(xiàn)的算法、使用方法、示例程序等。示例程序等。/* 類名
16、類名: StringUtil 功能功能:定義字符串操作時所需要用到的方法,如:定義字符串操作時所需要用到的方法,如 轉(zhuǎn)換中文、轉(zhuǎn)換中文、HTML標記處理等。標記處理等。 作者作者: 彭輝彭輝版本版本: 1.0版版?zhèn)渥渥ⅲ?/ public class StringUtil 3.3.2注釋注釋4 方法注釋方法注釋 v明確該方法功能、作用、各參數(shù)含義以及明確該方法功能、作用、各參數(shù)含義以及返回值等。返回值等。 v參數(shù)注釋時當注明其取值范圍等。參數(shù)注釋時當注明其取值范圍等。v返回值當注釋出失敗、錯誤、異常時的返返回值當注釋出失敗、錯誤、異常時的返回情況。回情況。 v異常當注釋出什么情況、什么時候、
17、什么異常當注釋出什么情況、什么時候、什么條件下會引發(fā)什么樣的異常條件下會引發(fā)什么樣的異常/* *函數(shù)名函數(shù)名:executeQuery功能功能:該方法根據(jù):該方法根據(jù)SQL語句,查詢數(shù)據(jù)庫,返回它的結(jié)果集語句,查詢數(shù)據(jù)庫,返回它的結(jié)果集 參數(shù)參數(shù):1、sqlin:標準的標準的SQL語句語句 ,不可以為空串,不可以為空串返回值返回值:ResultSet結(jié)果集,若查詢失敗則返回結(jié)果集,若查詢失敗則返回null 異常異常:SQLException ,當查詢數(shù)據(jù)庫時可能引發(fā)此異常,當查詢數(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應對重要的變量加以注釋,以說明其含義應對重要的變量加以注釋,以說明其含義等。等。 v應對不易理解的分支條件表達式加注釋。應對不易理解的分支條件表達式加注釋。不易理解的循環(huán),應說明出口條件。過長
19、的不易理解的循環(huán),應說明出口條件。過長的方法實現(xiàn),應將其語句按實現(xiàn)的功能分段加方法實現(xiàn),應將其語句按實現(xiàn)的功能分段加以概括性說明。以概括性說明。 v對于異常處理,當注明正常情況及異常情對于異常處理,當注明正常情況及異常情況的條件,并說明當異常發(fā)生時程序當如何況的條件,并說明當異常發(fā)生時程序當如何處理。處理。 注釋在源代碼中的比例一般為注釋在源代碼中的比例一般為20%左右左右3.3.3命名命名 1基本原則基本原則 規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可以提供一些標識功能方面的信息,有助于更好的理解代碼和以提供一些標識功能方面的信息
20、,有助于更好的理解代碼和應用。應用。 v名字應能反映它所代表的實際東西,應有一定實際意義。名字應能反映它所代表的實際東西,應有一定實際意義。例如,表示次數(shù)的量用例如,表示次數(shù)的量用Times,表示總量的用,表示總量的用Total,表示,表示平均值的用平均值的用Average,表示和的量用,表示和的量用Sum等等v使用可以準確說明變量使用可以準確說明變量/字段字段/類類/接口接口/包等的完整的英文描包等的完整的英文描述符。例如,采用類似述符。例如,采用類似 firstName,listAllUsers 或或 CorporateCustomer 這樣的名字,嚴禁使用漢語拼音及不這樣的名字,嚴禁使用
21、漢語拼音及不相關(guān)單詞命名。相關(guān)單詞命名。 v采用該領(lǐng)域的術(shù)語。如果用戶稱他們的采用該領(lǐng)域的術(shù)語。如果用戶稱他們的“客戶客戶” (clients) 為為“顧客顧客” (customers),那么就采用術(shù)語,那么就采用術(shù)語 Customer 來來命名這個類,而不用命名這個類,而不用 Client。v采用大小寫混合,提高名字的可讀性。一般應該采用大小寫混合,提高名字的可讀性。一般應該采用小寫字母,但是類和接口的名字的首字母,以采用小寫字母,但是類和接口的名字的首字母,以及任何中間單詞的首字母應該大寫。及任何中間單詞的首字母應該大寫。 v盡量少用縮寫,但如果一定要使用,當使用公共盡量少用縮寫,但如果一
22、定要使用,當使用公共縮寫和習慣縮寫等,如實現(xiàn)(縮寫和習慣縮寫等,如實現(xiàn)(implement)可縮寫)可縮寫成成impl,經(jīng)理(,經(jīng)理(manager)可縮寫成)可縮寫成mgr等,嚴禁等,嚴禁濫用縮寫。濫用縮寫。v避免使用長名字(最好不超過避免使用長名字(最好不超過 25 個字母)。個字母)。 v避免使用相似或者僅在大小寫上有區(qū)別的名字。避免使用相似或者僅在大小寫上有區(qū)別的名字。 3.3.3命名命名 2類、接口類、接口 所有單詞首字母大寫。使用能確切反應該類、所有單詞首字母大寫。使用能確切反應該類、接口含義、功能等的詞。一般采用名詞。接口含義、功能等的詞。一般采用名詞。例:例:class Str
23、ingList 3 常量常量 采用完整的英文大寫單詞,在詞與詞之間用采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,如:下劃線連接,如:Static final int DEFAULT_VALUE = 10; 3.3.3命名命名 4 變量和參數(shù)變量和參數(shù) 變量命名由(變量命名由(前綴前綴+修飾語修飾語)構(gòu)成?,F(xiàn)在比較流行的是一套)構(gòu)成?,F(xiàn)在比較流行的是一套由微軟的一個匈牙利軟件工程師首先使用,并且在微軟推廣由微軟的一個匈牙利軟件工程師首先使用,并且在微軟推廣開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。開來,現(xiàn)在被稱之為匈牙利命名法的命名規(guī)則。匈牙利命名匈牙利命名法規(guī)定法規(guī)定,使用表示標識符所對
24、應的變量類型的英文小寫縮寫,使用表示標識符所對應的變量類型的英文小寫縮寫作為標識符的前綴,后面在使用表示變量意義的英文單詞或作為標識符的前綴,后面在使用表示變量意義的英文單詞或縮寫進行命名。下面是匈牙利命名法中的一些命名前綴:縮寫進行命名。下面是匈牙利命名法中的一些命名前綴:(1)類型前綴:用)類型前綴:用s(String)表示字符串表示字符串, c(char)表示字符表示字符, n(number)數(shù)值數(shù)值, i(intger)表示整數(shù)表示整數(shù), d(double)表示雙精度表示雙精度,f (float)浮點型浮點型, b(bool)布爾型布爾型, dt(date)表示日期型表示日期型.例如:
25、例如:iLength表示整型的局域變量表示整型的局域變量,是用來標識長度是用來標識長度的的.sCode表示字符串型的局域變量表示字符串型的局域變量,用來標識代碼。用來標識代碼。bFlag, nCount;3.3.3命名命名 5 組件組件/部件部件 v應采用完整的英文描述符命名組件(接口部件),遵循應采用完整的英文描述符命名組件(接口部件),遵循匈牙利命名法則匈牙利命名法則 如:如:btnOK,lblName。 v控件命名由(控件命名由(前綴前綴+修飾語修飾語)構(gòu)成。前綴即為控件的名)構(gòu)成。前綴即為控件的名稱或縮寫。稱或縮寫??丶N類控件種類前綴前綴例例命令按鈕命令按鈕btnbtnSave組合框
26、組合框cmb cmbCondition文本框文本框txttxtUserName標簽標簽lbllblOpenDate列表框列表框 lst lstSelectedItem檢查框檢查框chkchkKey3.3.3命名命名 6 方法方法 方法的命名應采用完整的英文描述符,大小寫混合方法的命名應采用完整的英文描述符,大小寫混合使用:所有中間單詞的第一個字母大寫。方法名稱使用:所有中間單詞的第一個字母大寫。方法名稱的第一個單詞常常采用一個有強烈動作色彩的動詞。的第一個單詞常常采用一個有強烈動作色彩的動詞。 取值類使用取值類使用get前綴,設(shè)值類使用前綴,設(shè)值類使用set前綴,判斷類前綴,判斷類使用使用is
27、(has)前綴。前綴。 例:例: getName() setSarry() isLogin()checkUser() 3.3.4 聲明聲明 1 方法方法 良好的程序設(shè)計應該盡可能減小類與類之間耦合,所遵循的良好的程序設(shè)計應該盡可能減小類與類之間耦合,所遵循的經(jīng)驗法則是:經(jīng)驗法則是:盡量限制成員函數(shù)的可見性盡量限制成員函數(shù)的可見性。如果成員函數(shù)沒。如果成員函數(shù)沒必要公有必要公有 (public),就定義為保護,就定義為保護 (protected);沒必要保;沒必要保護護 (protected),就定義為私有,就定義為私有 (private)。聲明順序聲明順序: v構(gòu)造方法構(gòu)造方法 v靜態(tài)公共方法
28、靜態(tài)公共方法 v靜態(tài)私有方法靜態(tài)私有方法 v公共方法公共方法v受保護方法受保護方法 v私有方法私有方法 3.3.4 聲明聲明 2 字段(成員變量)字段(成員變量) v若沒有足夠理由,不要把實例變量或類變量聲明若沒有足夠理由,不要把實例變量或類變量聲明為公有。公共和保護的可見性應當盡量避免,所有為公有。公共和保護的可見性應當盡量避免,所有的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)的字段都建議置為私有,由獲取和設(shè)置成員函數(shù)(Getter、Setter)訪問。)訪問。 v不允許不允許“隱藏隱藏”字段,即給局部變量所取的名字,字段,即給局部變量所取的名字,不可與另一個更大范圍內(nèi)定義的字段的名字相同不可
29、與另一個更大范圍內(nèi)定義的字段的名字相同(或相似)。例如,如果把一個字段叫做(或相似)。例如,如果把一個字段叫做 firstName ,就不要再生成一個局部變量叫做,就不要再生成一個局部變量叫做 firstName,或者任何易混淆的名字,如,或者任何易混淆的名字,如 fistName。 v一行代碼只聲明一個變量,僅將一個變量用于一一行代碼只聲明一個變量,僅將一個變量用于一件事。件事。 3.3.4 聲明聲明 聲明順序聲明順序: v常量常量 v類變量類變量 v公有字段公有字段 v受保護字段受保護字段 v私有字段私有字段4.3 代碼版本控制代碼版本控制 主流版本控制軟件介紹:主流版本控制軟件介紹:v
30、Borland Starteam 是一個集合了版本控制、構(gòu)建管理(是一個集合了版本控制、構(gòu)建管理(Build Management)和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強大的圖形界面,易和缺陷跟蹤系統(tǒng)為一體的軟件,并且具有強大的圖形界面,易學易用;但管理復雜、維護困難。學易用;但管理復雜、維護困難。vPVCS Version Manager 是美國的是美國的MERANT公司軟件配置管理工具公司軟件配置管理工具PVCS 家族中的家族中的一個組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應用文件、一個組成部分,它能夠?qū)崿F(xiàn)源代碼、可執(zhí)行文件、應用文件、圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),圖形文件和文檔的版本管理;它能安全地支持軟件并行開發(fā),對多個軟件版本的變更進行有效的控制管理。對多個軟件版本的變更進行有效的控制管理。vClearCase 是是IBM ROSE構(gòu)件的一部分,主要應用于復雜的產(chǎn)品發(fā)放、構(gòu)件的一部分,主要應用于復雜的產(chǎn)品發(fā)放、分布式團隊合作、并行的開發(fā)和維護任務(wù)。可以控制分布式團隊合作、并行的開發(fā)和維護任務(wù)??梢钥刂苭ord, e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園文化建設(shè)與小學生綜合素質(zhì)提升策略
- 科技與家居營銷的深度融合探討
- 數(shù)字經(jīng)濟與宏觀經(jīng)濟的協(xié)同發(fā)展研究
- 提升學習效率從改善學生睡眠開始
- 環(huán)保材料在家裝中的應用與美學
- 2025年漯河食品職業(yè)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 科技驅(qū)動的學前兒童智能培養(yǎng)方案
- 2025年湖南食品藥品職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 科普力量啟航-揭開教育科技領(lǐng)域的星辰大海
- 2025年高壓電動噴霧器項目可行性研究報告
- 電力基建復工安全教育培訓
- 2018注冊環(huán)保工程師考試公共基礎(chǔ)真題及答案
- 勞務(wù)經(jīng)紀人培訓
- 如何提高售后服務(wù)的快速響應能力
- ?;愤\輸安全緊急救援與處理
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊
- 高數(shù)(大一上)期末試題及答案
- 婚介公司紅娘管理制度
- 煤礦電氣試驗規(guī)程
- 物業(yè)客服培訓課件PPT模板
- 火力發(fā)電廠節(jié)能管理制度實施細則
評論
0/150
提交評論