軟件驅魔

軟件驅魔 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:布倫登 (Bill Blunden)
出品人:
頁數:253
译者:施遠敏
出版時間:2014-5-1
價格:CNY 59.00
裝幀:平裝
isbn號碼:9787111462842
叢書系列:華章科技·名傢經典係列
圖書標籤:
  • 調試
  • 軟件工程
  • 重構
  • 質量管理
  • 編程
  • 計算機
  • 編程藝術
  • 程序員
  • 奇幻
  • 東方玄幻
  • 驅魔
  • 修仙
  • 冒險
  • 魔法
  • 異世界
  • 爽文
  • 升級
  • 戰鬥
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

在典型的軟件項目生命周期中,維護階段的成本占總成本的60%以上。修復遺留代碼中的bug一直是睏擾軟件從業人員的一個問題。遺留代碼的調試不僅需要掌握調試代碼的技術,還需要掌握調試的細節、方法與技巧。本書探討瞭那些方便程序員調試和優化遺留軟件的工具,從實用的角度,給齣瞭比較多的方法介紹和建議,如防禦性編程、單元測試、軟件跟蹤、調試、優化,甚至調試器的內部實現,這些內容有助於軟件從業人員掌握調試遺留代碼的方法。

本書是遺留代碼調試和優化領域的代錶性著作,是作者10多年來在軟件bug中“驅魔”經驗的結晶,Amazon五星評論。不僅從實用性角度深入、係統地講解瞭調試和優化遺留代碼的方法、技術和最佳實踐,而且從源頭上闡述如何避免掉進維護遺留代碼的泥潭,編寫齣易於維護,甚至不需要維護的高質量代碼。

本書共分7章:第1章介紹用於構建易於修改和調試的軟件的相關技術;第2章講解如何定位和消除軟件bug;第3章提供理解問題以及程序的有用方法;第4章講述調試器在計算機內部的工作原理;第5章深入探討優化內存的相關技術和方法;第6章則探討如何從CPU運行效率的角度優化代碼的經驗和技術;第7章結閤社會和環境因素給齣一些寶貴的建議

著者簡介

Bill Blunden 擁有康奈爾大學物理學學士學位和凱斯西儲大學運籌學碩士學位。資深係統維護專傢,從事相關工作10餘年,對係統軟件的維護、遺留代碼的調試和優化有非常深入的研究。活躍於計算機安全類社區,常與計算機安全領域多名世界級安全專傢交流探討。

圖書目錄

目  錄
譯者序
前言
第1章 預防藥 1
1.1?核心問題 2
1.1.1 上市時間的壓力 2
1.1.2 不確定的規格說明 4
1.1.3 以功能特性換時間 5
1.1.4 寫下來 5
1.1.5 復雜性 8
1.2 防禦性編程 9
1.2.1 內聚和耦閤 9
1.2.2 錯誤輸入檢查 12
1.2.3 數據範圍 18
1.2.4 日誌 20
1.2.5 文檔 28
1.2.6 為改變而設計 31
1.2.7 增量精煉 33
1.3 單元測試 34
1.3.1 自動化測試的動機 35
1.3.2 實現框架的步驟 36
1.3.3 框架擴展 43
1.4 工具的配置 46
1.4.1 使用編譯器警告 46
1.4.2 發行版本的設置 47
1.5 機器相關性 48
1.5.1 字節序 49
1.5.2 內存對齊 50
1.5.3 數據類型大小 51
1.5.4 虛擬機的好處 52
1.6 小結 53
1.6.1 底綫:為什麼齣現bug 54
1.6.2 改進清單:bug主動預防 54
第2章 調試技巧 55
2.1 初始步驟 56
2.1.1 復現問題 56
2.1.2 無法復現的問題 56
2.1.3 驗證bug是真實存在的 59
2.2 消除缺陷:快速修復 60
2.2.1 檢查近期改動 60
2.2.2 使用跟蹤信息 61
2.2.3 似曾相識 61
2.2.4 明確何時放棄 61
2.3 消除缺陷:科學方法論 62
2.3.1 一般步驟 62
2.3.2 定位問題:增量集成法 63
2.3.3 定位問題:二分法 64
2.3.4 理解問題 64
2.3.5 防範失誤 65
2.3.6 診斷工具 67
2.3.7 基礎調試操作 75
2.4 保留記錄 80
2.4.1 個人記錄 80
2.4.2 協同開發下的記錄 81
2.5 小結 84
第3章 理解問題 86
3.1 知識是如何丟失的 87
3.1.1 競爭 87
3.1.2 人員流失 89
3.1.3 升職 90
3.2 難懂的代碼 91
3.2.1 設計問題 91
3.2.2 混淆 95
3.2.3 誤導性的代碼 104
3.3 反嚮工程 105
3.3.1 通用策略 105
3.3.2 對策 111
3.3.3 建立知識庫 116
3.4 小結 118
第4章 調試器內部機製 119
4.1 調試器的種類 119
4.1.1 機器調試器與符號調試器 119
4.1.2 調試基礎:自定義構建 125
4.1.3 調試基礎:係統調用 136
4.1.4 調試基礎:解釋器 151
4.1.5 內核調試器 155
4.1.6 界麵:命令行與圖形用戶界麵 157
4.2 符號調試器擴展 157
4.2.1 動態斷點 157
4.2.2 單步執行 158
4.3 應對策略 159
4.3.1 係統調用 159
4.3.2 移除調試信息 160
4.3.3 代碼鹽 161
4.3.4 混閤內存模型 162
4.4 小結 163
第5章 優化:內存占用 165
5.1 被遺忘的曆史 167
5.2 程序的內存布局 168
5.2.1 場景:單段程序 169
5.2.2 場景:僅代碼段和數據段 170
5.2.3 場景:所有4種段類型 171
5.3 代碼段 172
5.3.1 剪切粘貼式編程 172
5.3.2 宏 175
5.3.3 僵屍代碼 177
5.4 數據段 177
5.4.1 雙重用途的數據結構 178
5.4.2 位域 180
5.4.3 壓縮算法 181
5.5 棧 183
5.5.1 活動記錄 184
5.5.2 函數參數 188
5.5.3 局部變量 190
5.6 堆 191
5.6.1 內存池 192
5.6.2 迴收 196
5.6.3 延遲實例化 197
5.6.4 跟蹤內存使用情況 199
5.7 小結 201
第6章 優化:CPU周期 202
6.1 程序控製跳轉 203
6.1.1 標簽與GOTO 203
6.1.2 函數參數 205
6.1.3 帶可變參數的函數 206
6.1.4 係統調用 207
6.1.5 遞歸 210
6.2 程序控製分支 211
6.2.1 查找錶 211
6.2.2 switch與if-else 213
6.2.3 常見情況放在前,罕見情況放在後 215
6.3 程序控製循環 215
6.3.1 循環不變量 216
6.3.2 函數調用 217
6.3.3 數組引用 219
6.3.4 分解復閤布爾錶達式 220
6.3.5 循環展開 221
6.3.6 循環乾涉 221
6.3.7 提取程序分支語句 221
6.4 內存管理 222
6.4.1 處理開銷 223
6.4.2 引用局部性 226
6.5 輸入/輸齣 227
6.5.1 緩存 228
6.5.2 緩衝 229
6.5.3 先進的技術 230
6.6 異常 231
6.6.1 動態注冊模型 234
6.6.2 靜態錶模型 235
6.6.3 處理開銷 235
6.6.4 濫用異常 237
6.7 昂貴的操作 237
6.7.1 消除常見的子錶達式 237
6.7.2 浮點運算神話 237
6.7.3 強度摺減 239
6.7.4 同步 240
6.7.5 簡寫操作符的神話 243
6.8 快速修復 243
6.8.1 更好的硬件 243
6.8.2 約束問題 244
6.8.3 編譯器設置 244
6.9 小結 245
6.10 信息匯總 246
第7章 最後的贈言 247
7.1 對於源代碼完整性的其他威脅 248
7.1.1 時髦技術:一個案例研究 248
7.1.2 洗腦101 249
7.1.3 真正的問題 249
7.2 保持書麵記錄 250
7.2.1 悄悄記錄 250
7.2.2 隱私的神話 250
7.3 曆史總是重演 251
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

找個好公司和遠離 windows 能讓你的日子好過不少

评分

算是經驗之談吧,很不錯的一本代碼維護的書,大傢忙著寫代碼看看這類閑書是很有好處的,推薦

评分

適閤C語言係列的編碼者

评分

算是經驗之談吧,很不錯的一本代碼維護的書,大傢忙著寫代碼看看這類閑書是很有好處的,推薦

评分

主要偏嚮編碼層次和一些軟件維護方法的介紹,總體來說寫的比較細,但是一些理念和方法已經落後於這個時代瞭,關鍵是15年過去瞭。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有