幫助中心 | 我的帳號 | 關於我們

代碼質量/Jolt大獎精選叢書

  • 作者:(希)斯賓耐立思|譯者:左飛//吳躍//李潔
  • 出版社:電子工業
  • ISBN:9787121174216
  • 出版日期:2012/07/01
  • 裝幀:平裝
  • 頁數:471
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Jolt大獎素有「軟體業之奧斯卡」的美稱,本叢書精選自Jolt歷屆獲獎圖書,以植根于開發實踐中的獨到工程思想與傑出方法論為主要甄選方向。Diomidis Spinellis首部著作《代碼閱讀》(Code Reading)旨在闡明程序員應如何理解與修改代碼,與此不同的是,《代碼質量》重點討論代碼的非功能特性,深入講述代碼如何滿足重要的非功能性需求,如可靠性、安全性、可移植性和可維護性,以及時間效率和空間效率。《代碼質量》從Apache Web應用伺服器、BSD Unix操作系統和HSQLDB Java資料庫等開源項目中攫取數百個小例子,並以實例為基準點,輔以理論分析,從實用的角度講述每個專業軟體開發人員能立即運用的概念和技術。  《代碼質量》榮獲2007年jolt大獎,適用於不同知識層次的軟體工作、程序開發和研究人員。

作者介紹
(希)斯賓耐立思|譯者:左飛//吳躍//李潔

目錄
  表目錄
  圖目錄
  原書序言
  前言
第1章 導論 1
  1.1 軟體質量 1
  1.1.1 用戶、製造者和管理者眼中的質量 2
  1.1.2 質量屬性 4
  1.1.3 緊張的世界 6
  1.2 如何閱讀《代碼質量(權威精選植根于開發實踐的最佳讀物)》 8
  1.2.1 排版約定 8
  1.2.2 圖示 9
  1.2.3 圖表 11
  1.2.4 彙編代碼 11
  1.2.5 練習 11
  1.2.6 補充材料 12
  1.2.7 工具 12
第2章 可靠性 15
  2.1 輸入問題 16
  2.2 輸出問題 19
  2.2.1 不完整輸出或輸出缺失 19
  2.2.2 錯誤時刻的正確結果 22
  2.2.3 錯誤的格式 22
  2.3 邏輯問題 24
  2.3.1 偏差為一的錯誤與循環迭代 24
  2.3.2 被忽視的極端情況 25
  2.3.3 被遺漏的情況、條件測試或步驟 27
  2.3.4 被遺漏的方法 32
  2.3.5 多餘的功能 35
  2.3.6 誤解 37
  2.4 計算問題 39
  2.4.1 不正確的演算法或計算 39
  2.4.2 表達式中錯誤的操作數 41
  2.4.3 表達式中不正確的運算符 44
  2.4.4 運算符優先順序問題 45
  2.4.5 溢出、下溢和符號轉換錯誤 46
  2.5 並行性與時序問題 48
  2.6 介面問題 53
  2.6.1 不正確的常式或參數 53
  2.6.2 沒有測試返回值 55
  2.6.3 未做錯誤探查或恢復 58
  2.6.4 資源泄漏 60
  2.6.5 面向對象功能的誤用 63
  2.7 數據處理問題 64
  2.7.1 不正確的數據初始化 64
  2.7.2 引用錯誤的數據變數 66
  2.7.3 越界引用 69
  2.7.4 不正確的下標使用 72
  2.7.5 不正確的比例或數據單位 73
  2.7.6 錯誤的數據打包與解包 75

  2.7.7 不一致的數據 77
  2.8 容錯 79
  2.8.1 管理策略 79
  2.8.2 空間冗余 81
  2.8.3 時間冗余 83
  2.8.4 可複原性 84
第3章 安全性 93
  3.1 脆弱代碼 94
  3.2 緩衝區溢出 98
  3.3 競態條件 103
  3.4 問題api 106
  3.4.1 容易出現緩衝區溢出的函數 106
  3.4.2 格式字元串漏洞 108
  3.4.3 路徑和命令行解釋器元字元漏洞 110
  3.4.4 臨時文件 111
  3.4.5 不適合做加密用途的函數 112
  3.4.6 可篡改數據 114
  3.5 不可信輸入 115
  3.6 結果驗證 120
  3.7 數據與特權泄漏 124
  3.7.1 數據泄漏 124
  3.7.2 特權泄漏 128
  3.7.3 Java的方案 129
  3.7.4 分離特權代碼 131
  3.8 特洛伊木馬 133
  3.9 工具 135
第4章 時間性能 139
  4.1 測量技術 143
  4.1.1 負載描述 144
  4.1.2 受限於i/o的任務 145
  4.1.3 受限於內核的任務 148
  4.1.4 受限於cpu的任務和剖析工具 149
  4.2 演算法複雜性 158
  4.3 獨立的代碼 163
  4.4 與操作系統交互 167
  4.5 與外設交互 173
  4.6 非故意的交互 175
  4.7 緩存 178
  4.7.1 一個簡單的系統調用緩存 178
  4.7.2 替換策略 180
  4.7.3 預先計算結果 182
第5章 空間性能 189
  5.1 數據 190
  5.1.1 基本數據類型 191
  5.1.2 聚合數據類型 194
  5.1.3 對齊 196
  5.1.4 對象 202
  5.2 內存組織 206
  5.3 內存層級結構 210
  5.3.1 主存及其高速緩存 211

  5.3.2 磁碟緩存和後備存儲器 214
  5.3.3 交換區和基於文件的磁碟存儲 216
  5.4 進程/操作系統介面 217
  5.4.1 內存分配 218
  5.4.2 內存映射 219
  5.4.3 數據映射 219
  5.4.4 代碼映射 220
  5.4.5 訪問硬體資源 221
  5.4.6 進程間通信 222
  5.5 堆內存管理 224
  5.5.1 堆碎片 225
  5.5.2 堆剖析 230
  5.5.3 內存泄漏 233
  5.5.4 垃圾回收 237
  5.6 棧內存管理 239
  5.6.1 棧幀 240
  5.6.2 棧空間 243
  5.7 代碼 248
  5.7.1 設計期 250
  5.7.2 編碼期 252
  5.7.3 構建期 253
第6章 可移植性 261
  6.1 操作系統 262
  6.2 硬體與處理器架構 267
  6.2.1 數據類型的屬性 267
  6.2.2 數據存儲 269
  6.2.3 特定於機器的代碼 271
  6.3 編譯器與語言擴展 273
  6.3.1 編譯器錯誤 273
  6.4 圖形用戶界面(gui) 277
  6.5 國際化與本地化 279
  6.5.1 字符集 280
  6.5.2 區域 282
  6.5.3 消息 285
第7章 可維護性 293
  7.1 測量可維護性 294
  7.1.1 可維護性指數 294
  7.1.2 面向對象程序的度量 300
  7.1.3 包的相關性度量 309
  7.2 可分析性 316
  7.2.1 一致性 318
  7.2.2 表達式格式化 319
  7.2.3 語句格式化 320
  7.2.4 命名慣例 321
  7.2.5 語句級註釋 324
  7.2.6 版本註釋 326
  7.2.7 視覺結構:塊與縮進 327
  7.2.8 表達式、函數以及方法的長度 328
  7.2.9 控制結構 331
  7.2.10 布爾表達式 335

  7.2.11 可辨認性與內聚性 337
  7.2.12 依賴和耦合 339
  7.2.13 代碼塊註釋 351
  7.2.14 數據聲明註釋 354
  7.2.15 恰當的標識符名字 355
  7.2.16 依賴的位置 356
  7.2.17 不確定性 357
  7.2.18 可複查性 358
  7.3 可變性 363
  7.3.1 識別 363
  7.3.2 分離 368
  7.4 穩定性 377
  7.4.1 封裝與數據隱藏 378
  7.4.2 數據抽象 381
  7.4.3 類型檢查 383
  7.4.4 編譯時斷言 386
  7.4.5 運行時檢查和查看時斷言 389
  7.5 可測試性 390
  7.5.1 單元測試 391
  7.5.2 集成測試 394
  7.5.3 系統測試 396
  7.5.4 測試覆蓋度分析 398
  7.5.5 偶發性測試 401
  7.6 開發環境的影響 406
  7.6.1 增量構建 407
  7.6.2 調整構建性能 410
第8章 浮點運算 417
  8.1 浮點數表示 418
  8.1.1 量度誤差 420
  8.1.2 舍入 421
  8.1.3 內存格式 424
  8.1.4 規格化和隱含的一位 425
  8.1.5 階碼偏移 425
  8.1.6 負數 426
  8.1.7 反向規格化數 426
  8.1.8 特殊值 427
  8.2 舍入 428
  8.3 溢出 432
  8.4 下溢 434
  8.5 消去 437
  8.6 合併 441
  8.7 無效運算 445
附錄A 源代碼致謝人員名單 453
參考文獻 455

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032