高質(zhì)量程序設(shè)計(jì)藝術(shù)

出版時(shí)間:2008-1  出版社:人民郵電出版社  作者:斯皮內(nèi)利斯  頁(yè)數(shù):383  字?jǐn)?shù):585000  譯者:韓東海  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

本書(shū)論述閱讀與編寫(xiě)軟件代碼的方法,重點(diǎn)討論軟件代碼的質(zhì)量屬性,包括了軟件系統(tǒng)的可靠性、可移植性、可用性、互操作性、適應(yīng)性、可信性以及可維護(hù)性等方面。著力培養(yǎng)軟件工程師了解這些屬性的能力,并能編寫(xiě)出具備這些屬性的優(yōu)質(zhì)代碼。本書(shū)研究了來(lái)自于現(xiàn)有開(kāi)源系統(tǒng)的真實(shí)示例,并提供了有意義的練習(xí)以鞏固讀者的判斷能力和技巧,使用了統(tǒng)一建模語(yǔ)言來(lái)繪制所有圖表。  本書(shū)適合各層次軟件開(kāi)發(fā)人員、管理人員和測(cè)試人員閱讀。

作者簡(jiǎn)介

世界著名程序員,曾4次在國(guó)際c語(yǔ)言編程大賽(IOCCC)中折桂。他是FreeBSD操作系統(tǒng)的核心開(kāi)發(fā)人員之一,開(kāi)發(fā)了大量開(kāi)源軟件,包括所有BSD system上的sed編輯器、大受好評(píng)的建模引擎UMLGraph和C語(yǔ)言源碼分析與重構(gòu)工具CScout.在英國(guó)理工學(xué)院獲得了軟件工程碩士和計(jì)算機(jī)科學(xué)博士學(xué)位之后,他目前任教于希臘雅典經(jīng)濟(jì)管理大學(xué),領(lǐng)導(dǎo)著一個(gè)歐盟資助的開(kāi)源軟件質(zhì)量協(xié)作研究項(xiàng)目。他是IEEE software雜志的編委和專(zhuān)欄作家,曾獲Usenix協(xié)會(huì)終生成就獎(jiǎng),也是網(wǎng)絡(luò)百科全書(shū)Wikipedia的一位活躍作者。出本書(shū)外,他的《代碼閱讀》一書(shū)曾獲得2004年的Jolt生產(chǎn)效率大獎(jiǎng)。

書(shū)籍目錄

第1章 概述  1.1 軟件質(zhì)量   1.1.1 用戶(hù)、制造者和管理者眼中的質(zhì)量   1.1.2 質(zhì)量屬性   1.1.3 緊張的世界  1.2 本書(shū)閱讀指南   1.2.1 排版約定   1.2.2 圖示   1.2.3 圖表   1.2.4 匯編代碼   1.2.5 練習(xí)   1.2.6 補(bǔ)充材料   1.2.7 工具  進(jìn)階閱讀 第2章 可靠性  2.1 輸入問(wèn)題  2.2 輸出問(wèn)題   2.2.1 不完整輸出或輸出缺失   2.2.2 在錯(cuò)誤的時(shí)刻輸出的正確結(jié)果   2.2.3 錯(cuò)誤的格式  2.3 邏輯問(wèn)題   2.3.1 偏差為一的錯(cuò)誤與循環(huán)迭代   2.3.2 被忽視的極端情況   2.3.3 被遺漏的情況、條件測(cè)試和步驟   2.3.4 被遺漏的方法   2.3.5 多余的功能   2.3.6 曲解  2.4 計(jì)算問(wèn)題   2.4.1 不正確的算法或計(jì)算   2.4.2 表達(dá)式中錯(cuò)誤的操作數(shù)   2.4.3 表達(dá)式中錯(cuò)誤的運(yùn)算符   2.4.4 運(yùn)算符優(yōu)先級(jí)問(wèn)題   2.4.5 溢出、下溢和符號(hào)轉(zhuǎn)換錯(cuò)誤  2.5 并發(fā)與時(shí)序問(wèn)題  2.6 接口問(wèn)題   2.6.1 不正確的例程或參數(shù)   2.6.2 沒(méi)有正確測(cè)試返回值   2.6.3 沒(méi)有提供錯(cuò)誤檢測(cè)或恢復(fù)   2.6.4 資源泄漏   2.6.5 誤用面向?qū)ο蠊δ堋 ?.7 數(shù)據(jù)處理問(wèn)題   2.7.1 不正確的數(shù)據(jù)初始化   2.7.2 引用錯(cuò)誤的數(shù)據(jù)變量   2.7.3 越界引用   2.7.4 不正確的下標(biāo)使用   2.7.5 不正確的比例或數(shù)據(jù)單位   2.7.6 不正確的數(shù)據(jù)打包與解包   2.7.7 不一致的數(shù)據(jù)  2.8 容錯(cuò)   2.8.1 管理策略   2.8.2 空間冗余   2.8.3 時(shí)間冗余   2.8.4 可復(fù)原性  錦囊妙計(jì)  進(jìn)階閱讀 第3章 安全性  3.1 脆弱代碼  3.2 緩沖區(qū)溢出  3.3 競(jìng)態(tài)條件  3.4 問(wèn)題API   3.4.1 容易出現(xiàn)緩沖區(qū)溢出的函數(shù)   3.4.2 格式字符串漏洞   3.4.3 路徑與命令行解釋器的元字符漏洞   3.4.4 臨時(shí)文件   3.4.5 不適合密碼用途的函數(shù)   3.4.6 可篡改數(shù)據(jù)  3.5 不可信輸入  3.6 結(jié)果驗(yàn)證  3.7 數(shù)據(jù)與特權(quán)泄漏   3.7.1 數(shù)據(jù)泄漏   3.7.2 特權(quán)泄漏   3.7.3 Java的方法   3.7.4 分離特權(quán)代碼  3.8 特洛伊木馬  3.9 工具 110錦囊妙計(jì)  進(jìn)階閱讀 第4章 時(shí)間性能  4.1 測(cè)量技術(shù)   4.1.1 負(fù)載評(píng)定   4.1.2 受限于I/O的任務(wù)   4.1.3 受限于內(nèi)核的任務(wù)   4.1.4 受限于CPU的任務(wù)與剖析工具  4.2 算法復(fù)雜性  4.3 獨(dú)立的代碼  4.4 與操作系統(tǒng)交互  4.5 與外設(shè)交互  4.6 "不請(qǐng)自來(lái)"的交互  4.7 高速緩存處理   4.7.1 一個(gè)簡(jiǎn)單的系統(tǒng)調(diào)用高速緩存  4.7.2 替換策略   4.7.3 預(yù)先計(jì)算結(jié)果  錦囊妙計(jì)  進(jìn)階閱讀 第5章 空間性能  5.1 數(shù)據(jù)   5.1.1 基本數(shù)據(jù)類(lèi)型   5.1.2 聚合數(shù)據(jù)類(lèi)型   5.1.3 對(duì)齊   5.1.4 對(duì)象  5.2 內(nèi)存組織  5.3 內(nèi)存層次結(jié)構(gòu)   5.3.1 主存及其高速緩存   5.3.2 磁盤(pán)高速緩存與分列內(nèi)   5.3.3 交換區(qū)與基于文件的磁盤(pán)存儲(chǔ) 5.4 進(jìn)程/操作系統(tǒng)接口   5.4.1 內(nèi)存分配   5.4.2 內(nèi)存映射   5.4.3 數(shù)據(jù)映射   5.4.4 代碼映射   5.4.5 訪問(wèn)硬件資源   5.4.6 進(jìn)程間通信  5.5 堆內(nèi)存管理   5.5.1 堆碎片   5.5.2 堆剖析   5.5.3 內(nèi)存泄漏   5.5.4 垃圾收集  5.6 棧內(nèi)存管理   5.6.1 ??蚣堋  ?.6.2 ??臻g  5.7 代碼   5.7.1 設(shè)計(jì)時(shí)   5.7.2 編碼時(shí)   5.7.3 構(gòu)建時(shí)  錦囊妙計(jì)  進(jìn)階閱讀 第6章 可移植性  6.1 操作系統(tǒng)  6.2 硬件與處理器體系結(jié)構(gòu)   6.2.1 數(shù)據(jù)類(lèi)型的屬性   6.2.2 數(shù)據(jù)存儲(chǔ)   6.2.3 特定于計(jì)算機(jī)的代碼  6.3 編譯器與語(yǔ)言擴(kuò)展  6.4 圖形用戶(hù)界面  6.5 國(guó)際化與本地化   6.5.1 字符集   6.5.2 區(qū)域   6.5.3 消息  錦囊妙計(jì)  進(jìn)階閱讀 第7章 可維護(hù)性  7.1 測(cè)量可維護(hù)性   7.1.1 可維護(hù)性指數(shù)   7.1.2 面向?qū)ο蟪绦虻亩攘俊  ?.1.3 包的依賴(lài)度度量  7.2 可分析性   7.2.1 一致性   7.2.2 表達(dá)式的格式化   7.2.3 語(yǔ)句的格式化   7.2.4 命名習(xí)慣   7.2.5 語(yǔ)句級(jí)別的注釋   7.2.6 版本注釋   7.2.7 視覺(jué)結(jié)構(gòu):塊與縮進(jìn)   7.2.8 表達(dá)式、函數(shù)與方法的長(zhǎng)度   7.2.9 控制結(jié)構(gòu)   7.2.10 布爾表達(dá)式   7.2.11 可辨認(rèn)性與內(nèi)聚性   7.2.12 依賴(lài)與耦合   7.2.13 代碼塊注釋   7.2.14 數(shù)據(jù)聲明注釋   7.2.15 正確的標(biāo)識(shí)符名字   7.2.16 依賴(lài)的位置   7.2.17 不確定性   7.2.18 可審查性  7.3 可變性   7.3.1 識(shí)別   7.3.2 隔離  7.4 穩(wěn)定性   7.4.1 封裝與數(shù)據(jù)隱藏   7.4.2 數(shù)據(jù)抽象   7.4.3 類(lèi)型檢查   7.4.4 編譯時(shí)斷言   7.4.5 運(yùn)行時(shí)檢查與查看時(shí)斷  7.5 可測(cè)試性   7.5.1 單元測(cè)試   7.5.2 集成測(cè)試   7.5.3 系統(tǒng)測(cè)試   7.5.4 測(cè)試覆蓋度分析   7.5.5 偶發(fā)性測(cè)試  7.6 開(kāi)發(fā)環(huán)境的影響   7.6.1 增量構(gòu)建   7.6.2 調(diào)整構(gòu)建性能  錦囊妙計(jì)  進(jìn)階閱讀 第8章 浮點(diǎn)運(yùn)算  8.1 浮點(diǎn)表示法   8.1.1 量度誤差   8.1.2 舍入   8.1.3 內(nèi)存格式   8.1.4 規(guī)格化與隱含的一個(gè)位   8.1.5 階碼偏移   8.1.6 負(fù)數(shù)   8.1.7 反向規(guī)格化數(shù)   8.1.8 特殊值  8.2 舍入  8.3 溢出  8.4 下溢  8.5 相消  8.6 吸收  8.7 無(wú)效運(yùn)算  錦囊妙計(jì)  進(jìn)階閱讀 附錄A 源代碼致謝 參考文獻(xiàn) 

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    高質(zhì)量程序設(shè)計(jì)藝術(shù) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)4條)

 
 

  •   幫朋友買(mǎi)的,朋友很happy
  •   成為一名卓越的程序員,這本書(shū)值得一讀
  •   這本書(shū)專(zhuān)業(yè)詞匯多,晦澀。
  •   據(jù)說(shuō)不容易看懂
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7