zoukankan      html  css  js  c++  java
  • 02用隐喻来充分地理解软件开发

    1.隐喻的价值

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

    2. 算法

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

    3. 编程最大的挑战

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

    4.软件的系统生长观点

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

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

    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    爬虫的简单运用
    预测体育竞技比赛结果(新人练手)
    自己的第一个网页
    科学计算和可视化(numpy及matplotlib学习笔记)
    面向对象总结
    PIL库的总结及运用
    jirba库的使用和好玩的词云
    第一次结队作业
    四则运算版本升级
    自动生成小学四则运算项目练习(已更新)
  • 原文地址:https://www.cnblogs.com/rock-cc/p/9839331.html
Copyright © 2011-2022 走看看