软件驱魔:调试和优化遗留代码的艺术(遗留代码调试和优化领域经典之作,系统讲解有效的调试技术和实用的优化策略)

当前位置:首页 > 计算机/网络 > 程序设计 > 软件驱魔:调试和优化遗留代码的艺术(遗留代码调试和优化领域经典之作,系统讲解有效的调试技术和实用的优化策略)

  • 版 次:1
  • 页 数:
  • 字 数:
  • 印刷时间:2014年05月01日
  • 开 本:12k
  • 纸 张:胶版纸
  • 包 装:平装
  • 是否套装:否
  • 国际标准书号ISBN:9787111462842
  • 丛书名:名家经典系列
作者:(美)布伦登出版社:机械工业出版社出版时间:2014年05月 
编辑推荐
  Amazon五星级畅销书,遗留代码调试和优化领域的代表性著作,资深专家10余年经验结晶,长销不衰
  不仅从实用性角度深入、系统地讲解了调试和优化遗留代码的方法、技术和**实践,而且从源头上告知读者如何避免掉进维护遗留代码的泥潭 
内容简介
  本书是遗留代码调试和优化领域的代表性著作,是作者10多年来在软件bug中“驱魔”经验的结晶,Amazon五星评论。不仅从实用性角度深入、系统地讲解了调试和优化遗留代码的方法、技术和*实践,而且从源头上阐述如何避免掉进维护遗留代码的泥潭,编写出易于维护,甚至不需要维护的高质量代码。
  本书共分7章:第1章介绍用于构建易于修改和调试的软件的相关技术;第2章讲解如何定位和消除软件bug;第3章提供理解问题以及程序的有用方法;第4章讲述调试器在计算机内部的工作原理;第5章深入探讨优化内存的相关技术和方法;第6章则探讨如何从CPU运行效率的角度优化代码的经验和技术;第7章结合社会和环境因素给出一些宝贵的建议。
作者简介
  BillBlunden拥有康奈尔大学物理学学士学位和凯斯西储大学运筹学硕士学位。资深系统维护专家,从事相关工作10余年,对系统软件的维护、遗留代码的调试和优化有非常深入的研究。活跃于计算机安全类社区,常与计算机安全领域多名*安全专家交流探讨。
目  录
译者序
前言
第1章预防药
1.1?核心问题
1.1.1上市时间的压力
1.1.2不确定的规格说明
1.1.3以功能特性换时间
1.1.4写下来
1.1.5复杂性
1.2防御性编程
1.2.1内聚和耦合
1.2.2错误输入检查
1.2.3数据范围
1.2.4日志
前  言
  据记载,在典型的软件项目生命周期中,维护阶段的成本占总成本的60%以上。研发需要什么样的排场,什么样的环境,一般都会在设计阶段确定,一旦完成第一个版本的部署,接下来的大部分资源都将用于修复bug,增加新的功能,并依次修复这些新的功能所产生的bug。多数的软件应用程序在发布后的开发周期如图1所示。
  图1软件应用程序在发布后的开发周期
  产品发布后的开发周期始于新增一个功能,或者提交一份bug报告。在这两种情况下,单元测试和系统测试常用来确定补丁代码是否工作正常。一旦程序的执行已经足够稳定,就可以通过剖析应用程序来定位性能瓶颈。然后实施各种各样的优化技术,以提高执行速度和减少内存占用。随着客户要求加入新特性和修复bug,这种周期会周而复始地发生,应用程序也正是这样不停地向前演进。
在线试读部分章节
  第1章
  预防药
  概要
  老实说,相比那些在事后马虎的人而言,对那些在一开始就马马虎虎的人我会毫不犹豫地将其淘汰掉。这听起来相当冷酷无情,这的确冷酷无情。但是,这并不是那种“如果你无法忍受炙热,那就远离厨房”的提醒,它更深刻。我不愿与那些马马虎虎的人共事。这是软件开发的进化论。
  ——LinusTorvalds在Linux内核邮件列表里关于内核调试器的讨论中如是说
  维护工程师的角色是驱逐那些潜藏在遗留软件里的邪恶幽灵,他们夜以继日维护着那些软件,上下交困,怨声载道,就像在穿过公司的那条小径上孤独前行。每天,他们都面临诸如:
  修复bug
  性能提升
  这样的挑战。本书前面4章会重点关注于前者。最后两章会关注后者。
  在1896年出版的一本名为《Hawkin’sNewCatechismofElectricity》的电气手册中,首次提出bug这个术语,“在有限范围内,用于指明与电气设备相关的或电气设备工作中出现的任何缺陷故障”。这个术语在RearAdmiralGraceMurrayHopper(COBOL语言的发明者)的帮助下逐步进化成用于表示计算机程序的故障。
  与bug打交道是程序员最讨厌的工作任务之一。基于此,处理软件bug最好的时机就是在软件的实现阶段。换句话说就是,在问题即将成为软件发行版本中的一部分之前,这些bug还没有“潜伏”到软件中,就修复它,这样,维护工程师在后续的工作中,就不用再陷入处理这些问题的烦恼中。包括LinusTorvalds在内的很多专业人士,都认同这套思路。
  《孙子兵法》有云:“上兵伐谋,其次伐交,其次伐兵,其下攻城。攻城之法,为不得已。”解决大问题固然重要,杜绝小问题同样不可小视;解决大问题彰显才华卓越,杜绝小问题更显先见之明。作为软件工程师,要有远见,尽早地实现缺陷的隔离和修复。这样,你就不用再担心凌晨3点钟还会接到来自愤怒的系统管理员的电话。
  本章讨论用于减少代码受到bug影响的预防性测量。如果你是正在参与构建一个全新软件的工程师,或者你正在新增软件特性,那么,你需要认真地阅读本章。此外,如果你已经接手了你从未写过的一个应用(并且这种情况应该很常见),那么,我推荐你先跳过本章,从下一章开始。一旦你处理完那些讨厌的bug,你可以再回到本章,使用本章介绍的技术来帮助你清理补丁程序。

 软件驱魔:调试和优化遗留代码的艺术(遗留代码调试和优化领域经典之作,系统讲解有效的调试技术和实用的优化策略)下载



发布书评

 
 

 

PDF图书网 

PDF图书网 @ 2017