代码质量
2008-1
机械工业
Diomids Spinellis
630
无
本书重点讨论代码的非功能特性,深入讲述代码如何满足重要的非功能性需求,如可靠性、安全性、可移植性和可维护性,以及时间效率和空间效率。 本书从Apache Web应用服务器、BSD UNIX操作系统和HSQLDB Java数据库等开源项目中攫取数百个小例子,并以实例为基准点,辅以理论分析,从实用的角度讲述每个专业软件开发人员能立即运用的概念和技术。 本书适合作为软件开发人员、安全工程师及软件测试工程师等参考。
Diomidis spinellis广受赞誉的《Code Reding》的作者。从1985年起,他就从事创新型软件开发,和数百分行代码打交道,并一直发展本书中介绍的各项技术。他在伦敦帝国学院取得了软件工程硕士工程学位和计算机科学博士学位。目前,他是雅典经济与商业大学科学技术管理系列教授。
序言 前言 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 注释
要知道能子计算机领域中独树一矾的作品可谓是凤毛麟角,而作者的第一本书《代码阅读》就作到了这点,在计算机教学中教人如何阅读代码而非编写代码的书籍的确是大受欢迎,在教学生如何编写代码前,应首先学习如何阅读代码,因为学习其他语言方法都是先学阅读,在学写做,而且在新千年,多数开发人员的主要任务是修改已存在的代码。而不是开发代码,正因为如此,我很感激作者能认识到这一点,并且为我们撰写了如何阅读代码的知道书。
无
很好的一本书,实用!
书很不错,能够给点启发,学习中!
帮别人买的,评论很好
本书重点讨论代码的非功能特性,深入讲述代码如何满足重要的非功能性需求,如可靠性、安全性、可移植性和可维护性,以及时间效率和空间效率。本书从ApacheWeb应用服务器、BSDUNIX操作系统和HSQLDBJava数据库等开源项目中攫取数百个小例子,并以实例为基准点,辅以理论分析,从实用的角度讲述每个专业软件开发人员能立即运用的概念和技术。本书适合作为软件开发人员、安全工程师及软件测试工程师等参考。
对于影印版(英文版)加注释,实在没有多大意义,原著是上上之作,而注释版令人很反感,1来注释版非要给读者加上注释者的理解,2来本来纸张可以采用正常字体大小,而由于每页的注释占去篇幅,是字体变成了瘦长型,不利于阅读。
比起《代码大全》这样的大部头,感觉更接近实际编程世界。书中讲到我们编写代码时候遇到的方方面面的问题已经相应的处理的折中方法。值得推荐