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

Posted rock-cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02用隐喻来充分地理解软件开发相关的知识,希望对你有一定的参考价值。

1.隐喻的价值

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

2. 算法

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

3. 编程最大的挑战

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

4.软件的系统生长观点

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

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

?


以上是关于02用隐喻来充分地理解软件开发的主要内容,如果未能解决你的问题,请参考以下文章

《代码大全》阅读笔记-2-用隐喻来更充分地理解软件开发

代码大全读书笔记2---用隐喻来充分理解软件开发

Code Complete 笔记—— 第二章 用隐喻来更充分理解软件开发

《代码大全》阅读笔记-目录

对抗软件系统复杂性②:全局一致,统一隐喻

定论——软件开发的方法论探讨