码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-23 23:06:17      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:理解   测试   一点   red   错误   完成   数据   快速   很多   

1.隐喻的价值

? 隐喻的价值绝不应低估。隐喻的优点在于其可预期的效果:能被所有的人理解。不必要的沟通和误解也因此大为减低,学习与教授更为快速。实际上,隐喻是对概念进行内在化(intemalizing)和抽象(abstracting)的一种途径,它让人们在更高的层次上思考问题,从而避免地层次的错误。

2. 算法

? 算法是一套定义明确的指令,使你能完成某个特定的任务。算法是可预测性的(predictable)、确定性的(deterministic)、不易变化的(no subject to chance)。

3. 编程最大的挑战

? 对于编程来说,最大的挑战还是将问题概念化(conceptualizing),编程中的很多错误都是概念性错误。正因为每一个问题在概念上都是独特的,所有要找到一套能解决所有问题的一通百通的知道规则是很难的,甚至是不太可能的。如此看来,能一般性地知道大致如何解决问题,至少也和知道如何解决问题一样有价值了。

4.软件的系统生长观点

以增量的方式进行设计、编译和测试,都是目前已知的最强有力的软件开发概念。
在进行增量式开发时,我们先做出软件系统的一个尽可能简单、但能运行的版本。它不必接受真实的输入,也无需对数据进行真正的处理,更不用产生真实的输出——它仅仅需要构成一个足够强壮的骨架,支撑起未来将要开发的真实系统。对于你标志出的没一项基本功能,可能仅需要调用虚假的类。

? 在骨架形成之后,你要一点点地在其上附上肌肉和皮肤:把每个虚假的类替换为真正的类;不再假装接受输入,而是把接受真实输入的代码替换进去;不再假装产生输出,而是把产生真实输出的代码替换进去。你一次增加一个小部分代码,知道得到一个完全可以工作的系统。

?

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

标签:理解   测试   一点   red   错误   完成   数据   快速   很多   

原文地址:https://www.cnblogs.com/rock-cc/p/9839331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!