读《修改代码的艺术》--http://book.csdn.net/bookfiles/506/

原创 2007年09月22日 16:18:00



         本书是由Object Mentor公司总裁,Robert C. Martin,一位面向对象技术大师所著。
        今天偶然在csdn读书首页看见它的介绍和部分章节的试读,因为最近对软件的设计想要多多了解,所以就试读了一下。
        昨天刚看了一本关于极限编程(xp)的书,还没看完,刚看到第二章说到一些基本的软件设计的模式,啥瀑布式,原型式,步步提交式,当然还有该书倡导的xp,都谈到了软件设计的一些不可忽视的问题。该如何最大限度的设计一款稳固,实用,令用户愉悦的软件?这是一个很值得探讨的问题,这些设计模式难于解决的一个重要问题在于:需求总是在改变.

        Martin“给那些腐化得散发着臭味的程序起了一个别致的名字:遗留代码”。

        “什么是遗留代码?我未加定义就直接使用了这一术语。现在来看一看它的严格定义:遗留代码就是指从其他人那儿得来的代码。导致这一点的原因很多,例如,可能是我们的公司从其他公司那儿获取了代码;可能是原来的团队转而去做另一个项目了(从而遗留下了一堆代码)。总而言之,遗留代码就是指其他人编写的代码。不过,在程序员的口中,该术语所蕴涵的意义却远远不只这些。遗留代码这一说法随着时间的推移已经拥有了某些独特的含义。”

        “ 对我来说,遗留代码就是那些没有编写相应测试的代码。明白这一点是很痛苦的。人们会问,代码的好坏与是否编写了测试有什么关系呢?答案很明显,而这也正是我将要在本书中阐述的:没有编写测试的代码是糟糕的代码。不管我们有多细心地去编写它们,不管它们有多漂亮、面向对象或封装良好,只要没有编写测试,我们实际上就不知道修改后的代码是变得更好了还是更糟了。反之,有了测试,我们就能够迅速、可验证地修改代码的行为。

         他也对xp做了一些评价:“我们常常使用极限编程实践来帮助团队控制他们的工作、实现通力合作以及代码的交付。我常常觉得极限编程(XP)与其说是一种软件开发的方式,倒不如说是一种有助于组建起一支良好合作的工作团队的思想理念,而这个团队能够每两星期交付漂亮的软件则只不过碰巧是这一理念的副产品之一而已。

“修改软件的四个起因

为了简明起见,让我们来看看修改软件的四个主要起因:

(1) 添加新特性;

(2) 修正bug;

(3) 改善设计;

(4) 优化资源使用。”


           他也谈到了“优化与重构类似,但目标不同。对于重构和优化,我们都可以说:“我们在进行修改的过程中将会保持功能不变,但我们可能会改变某些其他东西。”对于重构来说,这里的“某些其他东西”就是指程序的结构,我们想让代码更容易维护。而对于优化来说,“某些其他东西”则是指程序所使用的某些资源,通常指时间或内存。”
 

相关文章推荐

苹果新的编程语言 Swift 语言进阶(四)--字符串和收集类型 (http://blog.csdn.net/goohong/article/details/30512483)

一、字符串( String  )和字符类型(Character)        字符串是一种字符的带次序的收集类型(相当于数组),字符是字符串中的元素。        在Swift 语言中...

我为何爱读代码?你为何也应当爱? http://blog.csdn.net/bvbook/archive/2011/02/16/6187192.aspx

http://blog.csdn.net/bvbook/archive/2011/02/16/6187192.aspx 我恨读代码我发现,许多程序员都讨厌读代码——拜托别掩饰了,承认吧。差不多每个人都...
  • sony315
  • sony315
  • 2011年02月23日 09:58
  • 523

分页类,对“http://blog.csdn.net/ayzhf/article/details/7176793” 分页代码改写

经过封闭后,使用很方便了。直接上代码。 分页页面代码:   ID 文章标题 $sql="select * from adminusers"; $page=new...
  • ayzhf
  • ayzhf
  • 2012年02月01日 14:13
  • 231

编写可读代码的艺术-完整版

  • 2016年12月26日 14:10
  • 12.74MB
  • 下载

java二维码生成与解析代码实现 <转载自http://blog.csdn.net/about58238/article/details/7494704>

二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码图片。如下图 二维码的特点: 1.  高密度编码,信息容量大 可容纳多达1850个大写字母或271...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读《修改代码的艺术》--http://book.csdn.net/bookfiles/506/
举报原因:
原因补充:

(最多只允许输入30个字)