代码大全(code complete)学习笔记 (2)

 

2 用隐喻来充分理解软件开发

软件隐喻更像一个探照灯,而不是一个路牌。它并不能告诉你在哪找到答案,但却能告诉你如何能找到答案。更像一个启发式的方法而非一个算法。你对软件隐喻理解的程度,决定了你对软件开发理解的程度。

一般的软件隐喻有以下类型:

1)写作代码式隐喻 (软件写作)

       这种隐喻认为开发方式就像写信,如果写错了,抛弃即可。对于大些的项目明显不适用。

2)培植系统式隐喻(软件农场)

       这种隐喻认为开发就像种庄稼,耕地、播种、施肥、浇水、收割,一点一点的做,最后丰收。其核心为“每次做一点”,但缺点为无法对整个过程进行系统的控制。

3)系统生长隐喻(软件牡蛎养殖)

这种隐喻认为开发就像牡蛎产生珍珠的过程:增量式(增量的,迭代的,自适应的和演进的)。就像珍珠先有一个沙粒,然后再一点一点长成珍珠。软件开发也是,可以先搭起骨架,然后一点一点附着肌肉和皮肤,一次增加一点代码,最后形成系统。优点在于不做过多的承诺,缺点在于用它来描绘软件开发过程还是不恰当。

4)建造软件隐喻(软件构建)

这种隐喻认为软件开发就像建筑一样,需要计划,前期准备和执行。其实软件开发的很多术语都源于建筑,比如:软件架构,脚手架,构建等。同时你还可以把建筑的很多方面引申到软件开发上来。他们具有很多的相似性。

5)智力工具箱隐喻(应用软件技术)

这种隐喻是指人们在多年的开发过程中积累了大量的技术、技巧和诀窍。在开发过程中学的越多,脑中工具箱可用的工具就越多,以后合适的时候就可以拿出来用。

 

由于隐喻是启发式的,而非某种算法,他们之间并不是排它性的,所以可以组合使用,以发挥最大的功效。

 

(转载请注明出处 :) )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值