出版時間:2008-1 出版社:機械工業(yè) 作者:Diomids Spinellis 頁數(shù):630
Tag標簽:無
內(nèi)容概要
本書重點討論代碼的非功能特性,深入講述代碼如何滿足重要的非功能性需求,如可靠性、安全性、可移植性和可維護性,以及時間效率和空間效率。 本書從Apache Web應用服務器、BSD UNIX操作系統(tǒng)和HSQLDB Java數(shù)據(jù)庫等開源項目中攫取數(shù)百個小例子,并以實例為基準點,輔以理論分析,從實用的角度講述每個專業(yè)軟件開發(fā)人員能立即運用的概念和技術。 本書適合作為軟件開發(fā)人員、安全工程師及軟件測試工程師等參考。
作者簡介
Diomidis spinellis廣受贊譽的《Code Reding》的作者。從1985年起,他就從事創(chuàng)新型軟件開發(fā),和數(shù)百分行代碼打交道,并一直發(fā)展本書中介紹的各項技術。他在倫敦帝國學院取得了軟件工程碩士工程學位和計算機科學博士學位。目前,他是雅典經(jīng)濟與商業(yè)大學科學技術管理系列教授。
書籍目錄
序言 前言 1 Introduction 1.1 Software Quality 1.2 How to Read This Book2 Reliability 2.1 Input Problems 2.2 Output Problems 2.3 Logic Problems 2.4 Computation Problems 2.5 Concurrency and Timing Problems 2.6 Interface Problems 2.7 Data-Handling Problems 2.8 Fault Tolerance3 Security 3.1 Vulnerable Code 3.2 The Buffer Overflow 3.3 Race Conditions 3.4 Problematic APIs 3.5 Untrusted Input 3.6 Result Verification 3.7 Data and Privilege Leakage 3.8 Trojan Horse 3.9 Tools 4 Time Performance 4.1 Measurement Techniques 4.2 Algorithm Complexity 4.3 Stand-Alone Code 4.4 Interacting with the Operating System 4.5 Interacting with Peripherals 4.6 Involuntary Interactions 4.7 Caching5 Space Performance 5.1 Data 5.2 Memory Organization 5.3 Memory Hierarchies 5.4 The Process/Operating System Interface 5.5 Heap Memory Management 5.6 Stack Memory Management 5.7 Code6 Portability 6.1 Operating Systems 6.2 Hardware and Processor Architectures 6.3 Compilers and Language Extensions 6.4 Graphical User Interfaces 6.5 Internationalization and Localization7 Maintainability 7.1 Measuring Maintainability 7.2 Analyzability 7.3 Changeability 7.4 Stability 7.5 Testability 7.6 Effects of the Development Environment8 Floating-Point Arithmetic 8.1 Floating-Point Representation 8.2 Rounding 8.3 Overflow 8.4 Underflow 8.5 Cancellation 8.6 Absorption 8.7 Invalid OperationsA Source Code Credits Bibliography Index Author Index 注釋
編輯推薦
要知道能子計算機領域中獨樹一礬的作品可謂是鳳毛麟角,而作者的第一本書《代碼閱讀》就作到了這點,在計算機教學中教人如何閱讀代碼而非編寫代碼的書籍的確是大受歡迎,在教學生如何編寫代碼前,應首先學習如何閱讀代碼,因為學習其他語言方法都是先學閱讀,在學寫做,而且在新千年,多數(shù)開發(fā)人員的主要任務是修改已存在的代碼。而不是開發(fā)代碼,正因為如此,我很感激作者能認識到這一點,并且為我們撰寫了如何閱讀代碼的知道書。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載