软件隐喻

[align=right][size=x-large][color=orange]隐喻:隐喻的价值绝不应低估,隐喻的有点在于其可预期的效果,能被所有的人理解,不必要的沟通和误解也因此而大为减低。学习和教授也更为快速,实际上:隐喻是对概念进行内在化和抽象的一种途径,它让人们在更高层面上思考问题,从而避免低层次的错误。
隐喻的作用更像启示,而不是算法,算法是一套定义明确的指令,使你能完成某个特定的任务。算法是可预测的,确定性的,不易变化的。
那么该如何使用软件中的隐喻呢?应该用他来提高你对编程问题和编程过程的洞察力:用它来帮助你思考变成过程中的活动,想象出更好的做事情的方法。你不可能看到一行代码并说它违反了本章所描述的某个隐喻。但随着时间的流逝,人们会发现,相对于不善运用隐喻的人来说,那些使用隐喻来照亮自己的软件开发过程的人,他对于编程的理解会更好,并且能够更快地写出更好的代码。
软件增量式开发:我们先做出软件系统一个尽可能简单、但能运行的版本。它不必接受真实的输入,也无需对数据进行真正的处理,更不用产生真实的输出--它瑾瑾需要构成一个足够强大的骨架,支撑起来未来将要开发的真是系统。对于你标志的每一项基本功能,可能仅需要调用虚假的类。这个最基本的起点,就像牡蛎开始孕育珍珠的那颗细小沙粒。
在骨架形成之后,你要一点点地在其上附上肌肉和皮肤:再把每个虚假的类替换为真正的类;不再假装接受输入,而是把接受真是输入的代码替换进去;不再假装产生输出,而是把产生的真实输出的代码替换进去。你一次增加一小部分代码知道得到一个完全可以工作的系统。
作为一个隐喻而言,增量式开发的优势在于未做过度的承诺。比起耕作那个隐喻来,对他做不恰当的隐身要更困难一些。牡蛎孕育珍珠的途径也很好地刻画了增量式开发的情形。

隐喻是一种启发式方法而不是算法,使用隐喻又是件说不清楚的事情,你需要适当地引申它的含义,才能从其蕴含的深刻启发中受益。但若你过分地或者在错误的方向上隐身了它的含义,它也会误导你。正如人们会误用任何强大的工具一样,你也可能误用隐喻,但它的强大的功效,还会成为你智慧工具箱中的一个宝贵部分。[/color][/size][/align]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值