出版時(shí)間:2012-10 出版社:電子工業(yè)出版社 作者:林銳,韓永泉 頁數(shù):396 字?jǐn)?shù):576000
Tag標(biāo)簽:無
前言
本書出版后一直受到不少軟件公司和C++程序員的關(guān)注,但不知不覺間也絕跡很久。不斷有讀者問我從何處可以買到本書、什么時(shí)候再版?,F(xiàn)在這一版本的推出,也可視作對(duì)這一詢問的一種回答。說來慚愧,我從2002年寫完本書第1版后,再也沒有接觸過C++編程,現(xiàn)在對(duì)C++已經(jīng)很陌生了。2004年1月我離開上海貝爾,創(chuàng)辦了上海漫索計(jì)算機(jī)科技有限公司,專注于IT企業(yè)的研發(fā)管理整體解決方案(包括軟件產(chǎn)品和咨詢服務(wù))。我自己已經(jīng)從技術(shù)專家轉(zhuǎn)型為企業(yè)管理者,關(guān)注商務(wù)多于軟件技術(shù)。對(duì)于出版本書第3版,我的確心有余而力不足。幸好第2版的作者韓永泉仍然從事應(yīng)用軟件開發(fā),寶刀未老,讓我對(duì)第3版的質(zhì)量充滿信心。在撰寫這一版的時(shí)候,為了更進(jìn)一步突出本書一貫強(qiáng)調(diào)的“高質(zhì)量程序設(shè)計(jì)”理念,對(duì)原書前版的內(nèi)容做了一些調(diào)整:首先是進(jìn)行了全面的修訂,改正了所有已經(jīng)發(fā)現(xiàn)的錯(cuò)誤,并對(duì)原有部分章節(jié)的內(nèi)容進(jìn)行了補(bǔ)充;其次,刪除了第2版的第2章和第17章(名字空間和模板)。根據(jù)我們的觀察,除非是開發(fā)類庫等通用程序,第17章的內(nèi)容在現(xiàn)階段對(duì)應(yīng)用軟件開發(fā)人員一般不具有實(shí)際指導(dǎo)價(jià)值;最后,增加了大約10個(gè)小節(jié)的內(nèi)容,分散在各章中。這些增加的內(nèi)容是實(shí)際應(yīng)用軟件開發(fā)過程中經(jīng)常會(huì)用到的技術(shù),可以顯著地提高編程效率,增強(qiáng)軟件的健壯性和可移植性。不論本書第1版和第2版是好是差,它都被過度地使用了,產(chǎn)生了令作者始料不及的影響。本書的試題被國(guó)內(nèi)軟件公司大面積地用于C++程序員招聘考試,結(jié)果事先看過答案的應(yīng)試者考了高分而被錄取,還真有人向我致謝;也有不少人未看過答案而考了低分未被錄取,在網(wǎng)上把作者罵一通。本書的試題和答案早在2002年就公開了,不知有多少人看過,我很奇怪怎么到現(xiàn)在還被煞有介事地用于考試。希望讀者正確地使用本書:請(qǐng)您學(xué)習(xí)和應(yīng)用您(或公司)認(rèn)為好的東西,不要把本書當(dāng)作標(biāo)準(zhǔn)來看待,不要全部照搬,也不必花費(fèi)很多時(shí)間去爭(zhēng)議本書是好還是壞。如果你發(fā)現(xiàn)書中的錯(cuò)誤或不妥之處,請(qǐng)及時(shí)告知作者韓永泉,或發(fā)郵件至郵箱,或直接上他的Blog與他交流。林銳上海漫索計(jì)算機(jī)科技有限公司 總經(jīng)理睿泰科技集團(tuán)董事、首席研發(fā)管理專家
內(nèi)容概要
高質(zhì)量程序設(shè)計(jì)是軟件行業(yè)的薄弱環(huán)節(jié),大部分企業(yè)為此付出了高昂的代價(jià),只能通過大量的測(cè)試和改錯(cuò)來提高軟件產(chǎn)品的質(zhì)量。因此,如何讓程序員熟練地掌握編程技術(shù)和編程規(guī)范,在開發(fā)過程中內(nèi)建高質(zhì)量代碼,是IT
企業(yè)面臨的主要挑戰(zhàn)之一。本書以輕松幽默的筆調(diào)向讀者論述了高質(zhì)量軟件開發(fā)方法與 C++/C
編程規(guī)范,而這也是作者多年從事軟件開發(fā)工作的經(jīng)驗(yàn)總結(jié)。全書共17 章,第1 章到第4 章重點(diǎn)介紹軟件質(zhì)量和基本的程序設(shè)計(jì)方法;第5
章到第16 章重點(diǎn)闡述C++/C 編程風(fēng)格、面向?qū)ο蟪绦蛟O(shè)計(jì)方法和一些技術(shù)專題;第17 章闡述STL 的原理和使用方法。本書第 1
版和第2 版部分章節(jié)曾經(jīng)在網(wǎng)上廣泛流傳,被國(guó)內(nèi)IT
企業(yè)的不少軟件開發(fā)人員采用。本書的附錄C《大學(xué)十年》是作者在網(wǎng)上發(fā)表的一個(gè)短篇傳記,文中所描述的充滿激情的學(xué)習(xí)和生活態(tài)度,感染了大批莘莘學(xué)子。
作者簡(jiǎn)介
林銳,1973年生。1994年和1996年獲西安電子科技大學(xué)應(yīng)用物理學(xué)士學(xué)位和微電子碩士學(xué)位,2000年獲浙江大學(xué)計(jì)算機(jī)應(yīng)用博士學(xué)位。大學(xué)期間兩度被評(píng)為中國(guó)百名跨世紀(jì)優(yōu)秀大學(xué)生,1996年獲電子工業(yè)部科技進(jìn)步二等獎(jiǎng),1997年獲首屆中國(guó)大學(xué)生電腦大賽軟件一等獎(jiǎng)。2000年7月加入上海貝爾有限公司,從事軟件工程、項(xiàng)目管理和CMM的研究推廣工作,2003年7月當(dāng)選為
Alcatel 集團(tuán)技術(shù)專家(Alcatel
集團(tuán)授予為保持全球技術(shù)領(lǐng)先地位做出突出貢獻(xiàn)的技術(shù)專家榮譽(yù)和資格)。2004年初創(chuàng)建上海漫索計(jì)算機(jī)科技有限公司(http://www.mansuo.com
),致力于創(chuàng)作適合國(guó)內(nèi)軟件企業(yè)需求的管理方法論和軟件產(chǎn)品。從2000年至今,林銳博士在程序設(shè)計(jì)、用戶界面設(shè)計(jì)、軟件工程、項(xiàng)目管理、CMMI與軟件過程改進(jìn)、IT企業(yè)研發(fā)管理、軟件企業(yè)管理等領(lǐng)域累計(jì)出版著作十部,擁有數(shù)十萬名讀者,成為國(guó)內(nèi)軟件企業(yè)管理方法論的領(lǐng)先者。
韓永泉,1975年生。1994年至2001年就讀于西安電子科技大學(xué)計(jì)算機(jī)系,獲碩士學(xué)位。2001年4月加入上海大唐移動(dòng)通信技術(shù)有限公司,擔(dān)任高級(jí)軟件工程師,從事電信設(shè)備網(wǎng)管軟件的研發(fā)工作。2004年加入北京新岸線軟件科技有限公司,從事數(shù)字電視和手機(jī)電視相關(guān)軟件產(chǎn)品的設(shè)計(jì)、開發(fā)和研發(fā)管理工作,曾負(fù)責(zé)所在公司與上海漫索計(jì)算機(jī)科技有限公司合作開展的軟件過程改進(jìn)和研發(fā)管理解決方案的實(shí)施項(xiàng)目。2010年加入諾基亞西門子(NSN)。面向?qū)ο蠛兔嫦蚪M件軟件開發(fā)技術(shù)及編程技術(shù)的愛好者。
書籍目錄
第1章 高質(zhì)量軟件開發(fā)之道
1.1 軟件質(zhì)量基本概念
1.1.1 如何理解軟件的質(zhì)量
1.1.2 提高軟件質(zhì)量的基本方法
1.1.3 “零缺陷”理念
1.2 細(xì)說軟件質(zhì)量屬性
1.2.1 正確性
1.2.2 健壯性
1.2.3 可靠性
1.2.4 性能
1.2.5 易用性
1.2.6 清晰性
1.2.7 安全性
1.2.8 可擴(kuò)展性
1.2.9 兼容性
1.2.10 可移植性
1.3 人們關(guān)注的不僅僅是質(zhì)量
1.3.1 質(zhì)量、生產(chǎn)率和成本之間的關(guān)系
1.3.2 軟件過程改進(jìn)的基本概念
1.4 高質(zhì)量軟件開發(fā)的基本方法
1.4.1 建立軟件過程規(guī)范
1.4.2 復(fù)用
1.4.3 分而治之
1.4.4 優(yōu)化與折中
1.4.5 技術(shù)評(píng)審
1.4.6 測(cè)試
1.4.7 質(zhì)量保證
1.4.8 改錯(cuò)
1.5 關(guān)于軟件開發(fā)的一些常識(shí)和思考
1.5.1 有最好的編程語言嗎
1.5.2 編程是一門藝術(shù)嗎
1.5.3 編程時(shí)應(yīng)該多使用技巧嗎
1.5.4 換更快的計(jì)算機(jī)還是換更快的算法
1.5.5 錯(cuò)誤是否應(yīng)該分等級(jí)
1.5.6 一些錯(cuò)誤的觀念
1.6 小結(jié)
第2章 編程語言發(fā)展簡(jiǎn)史
2.1 編程語言大事記
2.2 Ada的故事
2.3 C/C++發(fā)展簡(jiǎn)史
2.4 Borland與Microsoft之爭(zhēng)
2.5 Java陣營(yíng)與Microsoft的較量
2.6 小結(jié)
第3章 程序的基本概念
3.1 程序設(shè)計(jì)語言
3.2 語言實(shí)現(xiàn)
3.3 程序庫
3.4 開發(fā)環(huán)境
3.5 程序的工作原理
3.6 良好的編程習(xí)慣
第4章 C++/C程序設(shè)計(jì)入門
4.1 C++/C程序的基本概念
4.1.1 啟動(dòng)函數(shù)main()
4.1.2 命令行參數(shù)
4.1.3 內(nèi)部名稱
4.1.4 連接規(guī)范
4.1.5 變量及其初始化
4.1.6 C Runtime Library
4.1.7 編譯時(shí)和運(yùn)行時(shí)的不同
4.1.8 編譯單元和獨(dú)立編譯技術(shù)
4.2 基本數(shù)據(jù)類型和內(nèi)存映像
4.3 類型轉(zhuǎn)換
4.3.1 隱式轉(zhuǎn)換
4.3.2 強(qiáng)制轉(zhuǎn)換
4.4 標(biāo)識(shí)符
4.5 轉(zhuǎn)義序列
4.6 運(yùn)算符
4.7 表達(dá)式
4.8 基本控制結(jié)構(gòu)
4.9 選擇(判斷)結(jié)構(gòu)
4.9.1 布爾變量與零值比較
4.9.2 整型變量與零值比較
4.9.3 浮點(diǎn)變量與零值比較
4.9.4 指針變量與零值比較
4.9.5 對(duì)if語句的補(bǔ)充說明
4.9.6 switch結(jié)構(gòu)
4.10 循環(huán)(重復(fù))結(jié)構(gòu)
4.10.1 for語句的循環(huán)控制變量
4.10.2 循環(huán)語句的效率
4.11 結(jié)構(gòu)化程序設(shè)計(jì)原理
4.12 goto/continue/break語句
4.13 示例
第5章 C++/C常量
5.1 認(rèn)識(shí)常量
5.1.1 字面常量
5.1.2 符號(hào)常量
5.1.3 契約性常量
5.1.4 枚舉常量
5.2 正確定義符號(hào)常量
5.3 const與#define的比較
5.4 類中的常量
5.5 實(shí)際應(yīng)用中如何定義常量
第6章 C++/C函數(shù)設(shè)計(jì)基礎(chǔ)
6.1 認(rèn)識(shí)函數(shù)
6.2 函數(shù)原型和定義
6.3 函數(shù)調(diào)用方式
6.4 認(rèn)識(shí)函數(shù)堆棧
6.5 函數(shù)調(diào)用規(guī)范
6.6 函數(shù)連接規(guī)范
6.7 參數(shù)傳遞規(guī)則
6.8 返回值的規(guī)則
6.9 函數(shù)內(nèi)部實(shí)現(xiàn)的規(guī)則
6.10 存儲(chǔ)類型及作用域規(guī)則
6.10.1 存儲(chǔ)類型
6.10.2 作用域規(guī)則
6.10.3 連接類型
6.11 遞歸函數(shù)
6.12 使用斷言
6.13 使用const提高函數(shù)的健壯性
6.13.1 用const修飾函數(shù)的參數(shù)
6.13.2 用const修飾函數(shù)的返回值
第7章 C++/C指針、數(shù)組和字符串
7.1 指針
7.1.1 指針的本質(zhì)
7.1.2 指針的類型及其支持的運(yùn)算
7.1.3 指針傳遞
7.2 數(shù)組
7.2.1 數(shù)組的本質(zhì)
7.2.2 二維數(shù)組
7.2.3 數(shù)組傳遞
7.2.4 動(dòng)態(tài)創(chuàng)建、初始化和刪除數(shù)組的方法
7.3 字符數(shù)組、字符指針和字符串
7.3.1 字符數(shù)組、字符串和'\0'的關(guān)系
7.3.2 字符指針的誤區(qū)
7.3.3 字符串拷貝和比較
7.4 函數(shù)指針
7.5 引用和指針的比較
第8章 C++/C高級(jí)數(shù)據(jù)類型
8.1 結(jié)構(gòu)(struct)
8.1.1 關(guān)鍵字struct與class的困惑
8.1.2 使用struct
8.1.3 位域
8.1.4 成員對(duì)齊
8.2 聯(lián)合(Union)
8.3 枚舉(Enum)
8.4 文件
第9章 C++/C編譯預(yù)處理
9.1 文件包含
9.1.1 內(nèi)部包含衛(wèi)哨和外部包含衛(wèi)哨
9.1.2 頭文件包含的合理順序
9.2 宏定義
9.3 條件編譯
9.3.1 #if、#elif和#else
9.3.2 #ifdef 和 #ifndef
9.4 #error
9.5 #pragma
9.6 #和##運(yùn)算符
9.7 預(yù)定義符號(hào)常量
第10章 C++/C文件結(jié)構(gòu)和程序版式
10.1 程序文件的目錄結(jié)構(gòu)
10.2 文件的結(jié)構(gòu)
10.2.1 頭文件的用途和結(jié)構(gòu)
10.2.2 版權(quán)和版本信息
10.2.3 源文件結(jié)構(gòu)
10.3 代碼的版式
10.3.1 適當(dāng)?shù)目招?br />10.3.2 代碼行及行內(nèi)空格
10.3.3 長(zhǎng)行拆分
10.3.4 對(duì)齊與縮進(jìn)
10.3.5 修飾符的位置
10.3.6 注釋風(fēng)格
10.3.7 ADT/UDT版式
第11章 C++/C應(yīng)用程序命名規(guī)則
11.1 共性規(guī)則
11.2 簡(jiǎn)單的Windows應(yīng)用程序命名
第12章 C++面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述
12.1 漫談面向?qū)ο?br />12.2 對(duì)象的概念
12.3 信息隱藏與類的封裝
12.4 類的繼承特性
12.5 類的組合特性
12.6 動(dòng)態(tài)特性
12.6.1 虛函數(shù)
12.6.2 抽象基類
12.6.3 動(dòng)態(tài)綁定
12.6.4 運(yùn)行時(shí)多態(tài)
12.6.5 多態(tài)數(shù)組
12.7 C++對(duì)象模型
12.7.1 對(duì)象的內(nèi)存映像
12.7.2 隱含成員
12.7.3 C++編譯器如何處理成員函數(shù)
12.7.4 C++編譯器如何處理靜態(tài)成員
12.8 小結(jié)
第13章 對(duì)象的初始化、拷貝和析構(gòu)
13.1 構(gòu)造函數(shù)與析構(gòu)函數(shù)的起源
13.2 為什么需要構(gòu)造函數(shù)和析構(gòu)函數(shù)
13.3 構(gòu)造函數(shù)的成員初始化列表
13.4 對(duì)象的構(gòu)造和析構(gòu)次序
13.5 構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用時(shí)機(jī)
13.6 構(gòu)造函數(shù)和賦值函數(shù)的重載
13.7 示例:類String的構(gòu)造函數(shù)和析構(gòu)函數(shù)
13.8 何時(shí)應(yīng)該定義拷貝構(gòu)造函數(shù)和拷貝賦值函數(shù)
13.9 示例:類String的拷貝構(gòu)造函數(shù)和拷貝賦值函數(shù)
13.10 用偷懶的辦法處理拷貝構(gòu)造函數(shù)和 拷貝賦值函數(shù)
13.11 如何實(shí)現(xiàn)派生類的基本函數(shù)
第14章 C++函數(shù)的高級(jí)特性
14.1 函數(shù)重載的概念
14.1.1 重載的起源
14.1.2 重載是如何實(shí)現(xiàn)的
14.1.3 小心隱式類型轉(zhuǎn)換導(dǎo)致重載函數(shù)產(chǎn)生二義性
14.2 成員函數(shù)的重載、覆蓋與隱藏
14.2.1 重載與覆蓋
14.2.2 令人迷惑的隱藏規(guī)則
14.2.3 擺脫隱藏
14.3 參數(shù)的默認(rèn)值
14.4 運(yùn)算符重載
14.4.1 基本概念
14.4.2 運(yùn)算符重載的特殊性
14.4.3 不能重載的運(yùn)算符
14.4.4 重載++和--
14.5 函數(shù)內(nèi)聯(lián)
14.5.1 用函數(shù)內(nèi)聯(lián)取代宏
14.5.2 內(nèi)聯(lián)函數(shù)的編程風(fēng)格
14.5.3 慎用內(nèi)聯(lián)
14.6 類型轉(zhuǎn)換函數(shù)
14.7 const成員函數(shù)
第15章 C++異常處理和RTTI
15.1 為什么要使用異常處理
15.2 C++異常處理
15.2.1 異常處理的原理
15.2.2 異常類型和異常對(duì)象
15.2.3 異常處理的語法結(jié)構(gòu)
15.2.4 異常的類型匹配規(guī)則
15.2.5 異常說明及其沖突
15.2.6 當(dāng)異常拋出時(shí)局部對(duì)象如何釋放
15.2.7 對(duì)象構(gòu)造和析構(gòu)期間的異常
15.2.8 如何使用好異常處理技術(shù)
15.2.9 C++的標(biāo)準(zhǔn)異常
15.3 虛函數(shù)面臨的難題
15.4 RTTI及其構(gòu)成
15.4.1 起源
15.4.2 typeid運(yùn)算符
15.4.3 dynamic_cast<>運(yùn)算符
15.4.4 RTTI的魅力與代價(jià)
第16章 內(nèi)存管理
16.1 內(nèi)存分配方式
16.2 常見的內(nèi)存錯(cuò)誤及其對(duì)策
16.3 指針參數(shù)是如何傳遞內(nèi)存的
16.4 free和delete把指針怎么啦
16.5 動(dòng)態(tài)內(nèi)存會(huì)被自動(dòng)釋放嗎
16.6 杜絕“野指針”
16.7 有了malloc/free為什么還要new/delete
16.8 malloc/free的使用要點(diǎn)
16.9 new有3種使用方式
16.9.1 plain new/delete
16.9.2 nothrow new/delete
16.9.3 placement new/delete
16.10 new/delete的使用要點(diǎn)
16.11 內(nèi)存耗盡怎么辦
16.12 用對(duì)象模擬指針
16.13 泛型指針auto_ptr
16.14 帶有引用計(jì)數(shù)的智能指針
16.15 智能指針作為容器元素
第17章 學(xué)習(xí)和使用STL
17.1 STL簡(jiǎn)介
17.2 STL頭文件的分布
17.2.1 容器類
17.2.2 泛型算法
17.2.3 迭代器
17.2.4 數(shù)學(xué)運(yùn)算庫
17.2.5 通用工具
17.2.6 其他頭文件
17.3 容器設(shè)計(jì)原理
17.3.1 內(nèi)存映像
17.3.2 存儲(chǔ)方式和訪問方式
17.3.3 順序容器和關(guān)聯(lián)式容器的比較
17.3.4 如何遍歷容器
17.3.5 存儲(chǔ)空間重分配問題
17.3.6 什么樣的對(duì)象才能作為STL容器的元素
17.4 迭代器
17.4.1 迭代器的本質(zhì)
17.4.2 迭代器失效及其危險(xiǎn)性
17.4.3 如何在遍歷容器的過程中正確刪除元素
17.5 存儲(chǔ)分配器
17.6 適配器
17.7 泛型算法
17.8 一些特殊的容器
17.8.1 string類
17.8.2 bitset并非set
17.8.3 節(jié)省存儲(chǔ)空間的vector
17.8.4 空容器
17.9 STL容器特征總結(jié)
17.10 STL使用心得
附錄A C++/C試題
附錄B C++/C試題答案與評(píng)分標(biāo)準(zhǔn)
附錄C 大學(xué)十年
附錄D 《大學(xué)十年》后記
附錄E 術(shù)語與縮寫解釋
媒體關(guān)注與評(píng)論
在中國(guó),我很欣賞以至于崇拜的一個(gè)人便是林銳先生了。我寫文章時(shí)經(jīng)常引用他的話--“作一個(gè)優(yōu)秀、正直、誠(chéng)實(shí)的人,為中國(guó)軟件產(chǎn)業(yè)的振興而努力!”他的這本書頗有經(jīng)典外版書的特征,集幽默與嚴(yán)謹(jǐn)于一身,很少有書能如此吸引我。誠(chéng)然,它不是一本“巨著”,但卻是學(xué)習(xí)C++過程中可以讓你享受,或停下來思考的一本書。你不必像看《C++編程思想》一樣慢而穩(wěn)地看這本書,你甚至可以一下午就搞定它,但它卻是一本你最好能擁有的書?!狜ouyangj0林銳先生的書是在你懂了一些語言之后,教給你一些真正做項(xiàng)目要注意的問題。對(duì)學(xué)過C語言和C++語言而沒有參與過大項(xiàng)目的學(xué)生以及剛參加編程工作的研發(fā)人員來說,都有較強(qiáng)參考價(jià)值。即使是有多年編程工作經(jīng)驗(yàn)的人,也建議你翻一下?!狜macogg這本書讀了兩年多,當(dāng)這些東西經(jīng)潛移默化成為本能時(shí),的確對(duì)高質(zhì)量的產(chǎn)品設(shè)計(jì)起到了不少作用!——@gavin.mu絕對(duì)是一本好書,讓我弄懂了很多以前困惑的問題??傮w感覺,這本書不是一本入門教材,也不是一本像《Inside The C++ Object Model》一樣深?yuàn)W的典籍,它更像兩者之間的一個(gè)梯子,讓已經(jīng)有一定基礎(chǔ)的讀者經(jīng)由它爬上能夠理解《Inside The C++ Object Model》的高度。——@smartm看過第一版和第二版,堪稱中國(guó)本土版的《Effective C++》和《More Effective C++》?!狜cn_lb一口氣讀完,如飲甘飴。作者把個(gè)人的社會(huì)責(zé)任感融注于一本技術(shù)性書籍當(dāng)中,語言風(fēng)趣,文字簡(jiǎn)潔,讀起來別有一番風(fēng)味。老外的書大多不符合中國(guó)人的語言習(xí)慣,讀起來很晦澀,這本書把中文運(yùn)用得很好?!狜SED
編輯推薦
同類書目請(qǐng)見:《Effective C++:改善程序與設(shè)計(jì)的55個(gè)具體做法(第三版)(評(píng)注版)》《More Effective C++:35個(gè)改善編程與設(shè)計(jì)的有效方法(中文版)》《Effective C++:改善程序與設(shè)計(jì)的55個(gè)具體做法(第三版)中文版》《Boost程序庫完全開發(fā)指南:深入C++“準(zhǔn)”標(biāo)準(zhǔn)庫(修訂版)》《大學(xué)十年》感染一代IT人,林銳親述多年一線經(jīng)驗(yàn)。《高質(zhì)量程序設(shè)計(jì)指南:C++/C語言(第3版)》提供內(nèi)建高質(zhì)量代碼必須熟練掌握的編程技術(shù)與規(guī)范?!案哔|(zhì)量”試圖挽回的是--投入大量人、材、物力的事后檢測(cè)和補(bǔ)救。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
高質(zhì)量程序設(shè)計(jì)指南 PDF格式下載