CODE COMPLETE 2中文版:軟體開發實務指南(第二版) ,

Code Complete: A Practical Handbook of Software Construction, Second Edition

作者:SteveMcConnell

譯者:金戈, 湯凌, 陳碩, 張菲

出版社:博碩

ISBN:9789864341313

$94.70

Product ID: 82783 SKU: 9789864341313 Categories: , Tags: , , , , , , , ,

  【名家名著 17】

  所有軟體工程師必備的聖經,沒有之一!

  廣獲好評的程式設計實務指南,在過去十幾年間,由Steve McConnell所原創的《Code Complete》已幫助許許多多的開發者,開發出更完善的軟體。本書包含最新的更新與修訂內容,以及數百項全新的程式碼範例,充分闡明軟體建構的科學與藝術。McConnell匯集了來自學術研究與商業實務的各項知識,歸納出最有效的工作技巧、以及最關鍵的實踐原則,轉化成一系列清晰且務實的指引。無論你的知識水準、工作環境或專案規模如何,本書都能提昇你的智慧,幫助你建構出最佳品質的程式碼。

  發掘各項歷久彌新的技巧與策略,使你能夠:
  l建構出低複雜性,但卻有高可塑性的設計。
  l組織健全的協作式開發並從中獲益。
  l應用防禦性程式設計技巧,消弭發生錯誤的機會。
  l洞察合適的時機,妥善地對程式碼進行重構或演變。
  l依專案規模選擇合適的實踐方法。
  l快速且有效地進行除錯。
  l及早且正確地解決重大的建構問題。
  l從一而終保持高品質的軟體專案。

好評推薦

  「即便第一版的《Code Complete》已經納入我的軟體工程經典收藏裡,但第二版卻更是青出於藍。」——Ralph Johnson,伊利諾大學,《Design Patterns》合著者

  「無論你是新手還是熟手,《Code Complete》第二版都能幫助你透徹瞭解程式設計。」——Jeffrey Richter(www.wintellect.com),《Applied Microsoft® .NET Framework Programming》作者

  「關於軟體建構的絕佳指南,也是作為程式設計師的必讀著作。」——Diomidis Spinellis,《Code Reading: The Open Source Perspective》作者

  「Steve McConnell是少數真正在知識傳授上做到深入淺出的人士。」——John Vlissides,IBM研究院,《Design Patterns》合著者

  「Steve McConnell比任何人都更通曉軟體建構的奧義,我們很幸運能夠藉由這部原創著作,汲取他的豐富經驗與真知灼見。」——Alan Cooper,Visual Basic之父,《About Face》作者

  「《Code Complete》是有關程式設計風格和軟體建構的絕佳指引書籍。」——Martin Fowler,《Refactoring》

  「Steve McConnell 的《Code Complete》……為程式設計師提供了邁向智慧的捷徑……他的書讀起來富有趣味,要知道他可是有真實的親身經驗的。」——Jon Bentley,《Programming Pearls, 2nd ed.》

  「這無疑是我看過的軟體建構方面最好的書籍。每位開發人員都應該手持一本,並且每年都從頭到尾讀一遍。九年來我每年都讀這本書,仍能從中獲得新的收穫。」——John Robbins,《Debugging Applications for Microsoft .NET and Microsoft Windows》

  「當今的軟體必須是健全、有彈性的,而安全的程式碼始於規範的建構。第 1 版出版後的十年裡,沒有出現比《Code Complete》更權威的書。」——Michael Howard,《Writing Secure Code》

  「《Code Complete》廣泛剖析程式設計工藝的各種實戰話題。McConnell 的著作涵蓋軟體架構、coding 標準、測試、整合及軟體工藝本質等內容。」——Grady Booch,《Object Solutions》

  「對軟體開發者而言,終極的百科全書就是Steve McConnell 的《Code Complete》。這本長達 912 頁厚的書籍誠如副標所說的,是一本實用指南。它意圖縮短業界大師與教授(例如 Yourdon 和Pressman)的知識與一般商業實踐之間的距離,幫助讀者用較短的時間、碰觸較少的麻煩去編寫更好的程式……每個開發者都應該擁有這本書,本書的風格和內容是極為實用的。」——Chris Loosley,《High-Performance Client/Server》

  「Steve McConnell 的開創性書籍《Code Complete》是詳述軟體開發方面最易懂的一本書……」——Erik Bethke,《Game Development and Production》

  「《Code Complete》是個寶藏,收藏了設計與生產優質軟體方面的有用資訊與建議。」——John Dempster,《The Laboratory Computer: A Practical Guide for Physiologists and Neuroscientists》

  「如果你有意增進程式設計技術,就該有一本Steve McConnell 的《Code Complete》。」——Jean J. Labrosse,《Embedded Systems Building Blocks: Complete and Ready-To-Use Modules in C》

  「Steve McConnell 寫出了一本獨立於電腦環境的軟體開發最好的書籍。」——Kenneth Rosen,《Unix: The Complete Reference》

  「每個時代你都會遇到一本書,提供你獲得經驗的捷徑,節省數年痛苦的學習時間……千言萬語都無法說明這本書有多好。標題《Code Complete》尚不足以表達出該作品的全部智慧與內涵。」——Jeff Duntemann,《PC Techniques》

  「Microsoft Press 出版了我認為是軟體建構方面很好的書,每位軟體開發人員的書架上都該有這本書。」——Warren Keuffel,《Software Development》

  「每個程式設計師都該閱讀這本傑出的書籍。」——T.L. (Frank) Pappas,《Computer》

  「假如你期望成為專業的程式設計師,這將是你投資 35 美元能獲得的最好回報。不要只是看看這個書評,趕快衝去買一本回來!McConnell 聲稱此書意在拉近業界大師的知識與一般商業實踐之間的距離……令人稱奇的是,他做到了!」——Richard Mateosian,《IEEE Micro》

  「《Code Complete》應該被軟體開發領域中的每個人閱讀。」——Tommy Usher,《C User’s Journal》

  「我不遺餘力地為Steve McConnell 的《Code Complete》拍手叫好……這本書取代了 API 參考手冊,成為陪我工作的親密夥伴。」——Jim Kyle,《Windows Tech Journal》

  「這本編纂精良的巨著有望成為軟體實現的實踐方面最好的專書。」——Tommy Usher,《Embedded Systems Programming》

  「這是我所讀過的軟體工程方面最好的書籍。」——Edward Kenworth,《.Exe Magazine》

  「這本書必將成為一部經典、所有開發人員及管理者必備的讀物。」——Peter Wright,《Program Now》

目錄

第一部分 打好基礎

第 1 章 歡迎進入軟體建構的世界
1.1 什麼是軟體建構
1.2 軟體建構為何如此重要
1.3 如何閱讀本書
要點

第 2 章 藉由隱喻進一步理解軟體開發
2.1 隱喻的重要性
2.2 如何使用軟體隱喻
2.3 常見的軟體隱喻
更多資源
要點

第 3 章 三思而後行:前期的前置作業
3.1 前置作業的重要性
3.2 確認你所從事的軟體類型
3.3 問題定義的先決條件
3.4 需求的先決條件
3.5 架構的先決條件
3.6 花費在前期的前置作業上的時間長度
更多資源
要點

第 4 章 關鍵的「建構」決策
4.1 程式語言的選擇
4.2 程式設計約定
4.3 你在技術浪潮中的位置
4.4 選擇主要的建構實踐方法
要點

第二部分 建立高品質的程式碼

第 5 章 軟體建構中的設計
5.1 設計中的挑戰
5.2 關鍵的設計概念
5.3 設計構造塊:啟發式方法
5.4 設計實踐
5.5 對流行的設計方法的評論
更多資源
要點

第 6 章 工作類別
6.1 類別的基礎:抽象資料類型(ADTs)
6.2 良好的類別介面
6.3 有關設計和實作的議題
6.4 建立類別的原因
6.5 與具體程式語言相關的問題
6.6 超越類別:套件(Package)
更多資源
要點

第 7 章 高品質的子程式
7.1 建立子程式的正當理由
7.2 在子程式層上設計
7.3 好的子程式名稱
7.4 子程式可以寫多長
7.5 如何使用子程式參數
7.6 使用函式時要特別考慮的問題
7.7 Macro 子程式和行內子程式
要點

第 8 章 防禦性程式設計
8.1 保護程式免遭非法輸入資料的破壞
8.2 斷言
8.3 錯誤處理技術
8.4 例外(Exceptions)
8.5 隔離程式,使之包容由錯誤造成的損害
8.6 輔助除錯的程式碼
8.7 決定在產品程式碼中該保留多少防禦性程式碼
8.8 對防禦性程式設計採取防禦的姿態
更多資源
要點

第 9 章 虛擬碼程式設計流程
9.1 建立類別和子程式的步驟概述
9.2 如何寫好程序的虛擬碼
9.3 透過PPP 建立子程式
9.4 PPP 的替代方案
要點

第三部分 變數

第 10 章 使用變數的一般事項
10.1 資料認知
10.2 輕鬆掌握變數定義
10.3 變數初始化原則
10.4 作用範圍
10.5 持續性
10.6 綁定時間
10.7 資料類型和控制結構之間的關係
10.8 為變數指定單一用途
要點

第 11 章 變數名稱的力量
11.1 選擇好變數名稱的注意事項
11.2 為特定型別的資料命名
11.3 命名規則的力量
11.4 非正式命名規則
11.5 標準前綴
11.6 建立具備可讀性的短名稱
11.7 應該避免的名稱
要點

第 12 章 基本資料型別
12.1 數值概論
12.2 整數
12.3 浮點數
12.4 字元和字串
12.5 布林變數
12.6 列舉型別
12.7 具名常數
12.8 陣列
12.9 建立你自己的型別(型別別名)
要點

第 13 章 不常見的資料型別
13.1 結構體
13.2 指標
13.3 全域資料
更多資源
要點

第四部分 語句

第 14 章 組織直線碼
14.1 必須有明確順序的述句
14.2 順序無關的述句
要點

第 15 章 使用條件述句
15.1 if 述句
15.2 case 述句
要點

第 16 章 控制迴圈
16.1 選擇迴圈的種類
16.2 迴圈控制
16.3 輕鬆建立迴圈——由內而外
16.4 迴圈和陣列的關係
要點

第 17 章 不常見的控制結構
17.1 子程式中的多處返回
17.2 遞迴
17.3 goto
17.4 針對不常見控制結構的觀點
更多資源
要點

第 18 章 表格驅動法
18.1 表格驅動法使用總則
18.2 直接存取表
18.3 索引存取表
18.4 階梯存取表
18.5 表格查詢的其他範例
要點

第 19 章 一般控制問題
19.1 布林運算式
19.2 複合述句(述句區塊)
19.3 空述句
19.4 馴服危險的深層巢狀結構
19.5 程式設計基礎:結構化程式設計
19.6 控制結構與複雜度
要點

第五部分 程式碼改善

第 20 章 軟體品質概述
20.1 軟體品質的特性
20.2 改善軟體品質的技術
20.3 不同品質保障技術的相對效能
20.4 什麼時候進行品質保證工作
20.5 軟體品質的一般原則
更多資源
要點

第 21 章 協同建構
21.1 協同開發實踐概要
21.2 結對程式設計
21.3 正式檢查
21.4 其他類型的協同開發實作
21.5 協同建構技術的比較
更多資源
要點

第 22 章 開發者測試
22.1 開發者測試在軟體品質中的角色
22.2 開發者測試的推薦方法
22.3 測試技巧錦囊
22.4 典型錯誤
22.5 測試支援工具
22.6 改善測試程序
22.7 保留測試記錄
更多資源
要點

第 23 章 除錯
23.1 除錯概述
23.2 尋找缺陷
23.3 修正缺陷
23.4 除錯中的心理因素
23.5 除錯工具——明顯的和不那麼明顯的
更多資源
要點

第 24 章 重構
24.1 軟體演化的類型
24.2 重構簡介
24.3 特定的重構
24.4 安全的重構
24.5 重構策略
更多資源
要點

第 25 章 程式碼調整策略
25.1 效能概述
25.2 程式碼調整簡介
25.3 脂肪和糖漿
25.4 效能測量
25.5 反覆調整
25.6 程式碼調整方法總結
更多資源
要點

第 26 章 程式碼調整技術
26.1 邏輯
26.2 迴圈
26.3 資料變換
26.4 運算式
26.5 子程式
26.6 用低階語言重寫程式碼
26.7 變得越多,事情反而越沒變
更多資源
要點

第六部分 系統考慮

第 27 章 程式規模對建構的影響
27.1 交流和規模
27.2 專案規模的範圍
27.3 專案規模對錯誤的影響
27.4 專案規模對生產率的影響
27.5 專案規模對開發活動的影響
更多資源
要點

第 28 章 管理建構
28.1 鼓勵撰寫良好的程式
28.2 設定管理
28.3 評估建構進度表
28.4 度量
28.5 把程式設計師當人看
28.6 管理你的管理者
28.7 有關管理建構的額外資源
要點

第 29 章 整合
29.1 整合方式的重要性
29.2 整合頻率——階段式整合還是增量整合
29.3 增量整合的策略
29.4 每日組建與冒煙測試
更多資源
要點

第 30 章 程式設計工具
30.1 設計工具
30.2 原始碼工具
30.3 可執行碼工具
30.4 工具導向的環境
30.5 打造你自己的程式設計工具
30.6 工具夢想世界
更多資源
要點

第七部分 軟體工藝

第 31 章 佈局與風格
31.1 佈局基本原則
31.2 佈局技術
31.3 佈局風格
31.4 控制結構的佈局
31.5 單條述句的佈局
31.6 註解的佈局
31.7 子程式的布局
31.8 類別的佈局
更多資源
要點

第 32 章 自我文件化程式碼
32.1 外部文件
32.2 程式設計風格的文件
32.3 註解或不註解
32.4 高效率註解之關鍵
32.5 註解技術
32.6 IEEE 標準
更多資源
要點

第 33 章 個人性格
33.1 個人性格是否和本書話題無關
33.2 聰明和謙虛
33.3 求知慾
33.4 誠實
33.5 交流與合作
33.6 創造力和紀律
33.7 懶惰
33.8 不如你想像中那樣起作用的性格因素
33.9 習慣
更多資源
要點

第 34 章 軟體工藝的話題
34.1 征服複雜性
34.2 挑選開發程序
34.3 首先為人寫程式,其次才是為機器
34.4 用程式去創造適合的語言環境,而不是遷就它
34.5 藉助規範集中注意力
34.6 根據問題領域的術語做程式設計
34.7 注意落石
34.8 迭代,反反覆覆,一次又一次
34.9 汝當分離軟體與信仰
要點

第 35 章 何處尋找更多資訊
35.1 關於軟體建構的資訊
35.2 建構以外的話題
35.3 期刊
35.4 軟體開發者的閱讀計劃
35.5 參加專業組織

參考文獻

 

作者介紹

作者簡介

Steve McConnell

  Steve McConnell 是 Construx Software 公司的首席軟體工程師,負責監督控管軟體工程的實踐。他是軟體工程知識體(SWEBOK)專案建構知識領域的主管。Steve 曾為微軟、波音及西雅圖地區的其他一些公司工作。Steve McConnell 是以下書籍的作者:1996年的《Rapid Development》、1998年《Software Project Survival Guide 》和2004年的《Professional Software Development》。他的優秀著作兩度獲得當年的《Software Development》雜誌的優秀震撼大獎(Jolt Excellence Award)。

  Steve 還曾是 SPC 評估專業版的開發領袖,軟體開發生產力大獎(Software Development Productivity award)的獲得者。1998 年《Software Development》的讀者推選 Steve McConnell 為軟體行業最有影響力的三人之一,與 Bill Gates、Linus Torvalds 齊名。Steve 從 Whitman 大學獲得學士學位,並從西雅圖大學獲軟體工程碩士學位。現居住在華盛頓的 Bellevue。

  如果您對此書有任何疑問或評論,請與 Steve 聯繫,他的電子郵件信箱是stevemcc@construx.com,也可透過 www.stevemcconnell.com 與他聯繫。
 

出版日期

11/23/2018

語系

繁體中文

版別

二版

裝訂

平裝

頁數

912

印刷

單色印刷

出版地

英國