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



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

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

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

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

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

“修改软件的四个起因

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

(1) 添加新特性;

(2) 修正bug;

(3) 改善设计;

(4) 优化资源使用。”


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值