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

隐喻是启示而不是算法。因此它们往往有一点随意(sloppy)。

隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解。

有些隐喻比其他一些隐喻更贴切。

通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的。

通过把软件开发中的实践比作是智慧工具箱中的工具,我们又发现,每位程序员都有许多工具,但并不存在任何一个能适用于所有工作的工具,因地制宜地选择正确工具是成为能有效编程的程序员的关键。

不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。

时间: 2024-10-11 20:02:50

用隐喻来更充分地理解软件开发的相关文章

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

隐喻的价值绝不应该被低估.隐喻的有点在于其预期的效果:能被所有的人理解.不必要的沟通和误解也因此大为降低,学习与教授更为快速.实际上,隐喻是对概念进行内在化和抽象的一种途径,它让人在更高的层面上思考问题,从而避免低层次的错误. 隐喻是启示而不是算法.因此他们往往有一点随意 隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解 有些隐喻比其他一些隐喻更贴切 通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的 通过把软件开发中

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

借助隐喻可以更加深刻地理解软件开发的过程.通过把不太理解的东西和一些你较为理解.且十分类似的东西做比较,这样可以对不太理解的东西产生更深刻的理解,这种使用隐喻的方式叫做建模. 隐喻的威力在于其生动性,能够让你把握整个概念,暗示各种属性.关系以及需要查证的部分.但是过度引申时,模型也会误导人们. 软件隐喻的作用更像是启示,而不是算法,告诉你如何去寻找答案.算法是一套定义明确的指令使你完成某个特定的任务,算法是可预测的.确定的.不易变化的. 算法与启发式方法之间的区别就在于其距离最终解决办法的间接程

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

在这章里面,提到的隐喻,类同于比喻(建模)的方法的去理解软件开发. 隐喻的优点在于其可预期的效果能被所有人所理解.不必要的沟通和误解也因此大为减低,学习与教授更为快速,实际上,隐喻是对概念进行内在化和抽象的一种途径,它让人们更高的层面上思考问题,从而避免低层次的错误. -- Femando J.Corbato 如何使用软件终端饿隐喻? 用来提高对编程问题和编程过程的洞察力 用来帮助思考编程过程中的活动,想象出更好地做事情的方法 要点: 隐喻是启示而不是算法,因此它们往往有一点随意(sloppy)

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

1.隐喻的价值 ? 隐喻的价值绝不应低估.隐喻的优点在于其可预期的效果:能被所有的人理解.不必要的沟通和误解也因此大为减低,学习与教授更为快速.实际上,隐喻是对概念进行内在化(intemalizing)和抽象(abstracting)的一种途径,它让人们在更高的层次上思考问题,从而避免地层次的错误. 2. 算法 ? 算法是一套定义明确的指令,使你能完成某个特定的任务.算法是可预测性的(predictable).确定性的(deterministic).不易变化的(no subject to cha

浅谈敏捷软件开发与传统软件开发

本文将介绍传统软件开发与敏捷软件开发,并简单分析二者的优缺. 首先我查阅相关资料大致了解了下为什么会爆发"软件危机"和什么是"软件危机".由于在早期的软件开发活动中有明显的个体化特征,开发流程不规范,人们没有将软件与程序加以详细的区别,对程序之外的数据和相关文档资料没有给予重视,对编写程序之外的软件活动也没有给予重视,因此出现了"软件危机"."软件危机"的特点有:开发成本急剧上升.不能按时交付软件.软件难以维护.无法保证软件质

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

http://www.jianshu.com/p/9593bd7b28d9 一.消除隐喻 1.隐喻 软件开发这件事情,出现得很晚.距今只有几十年的时间,关于它的定义,我们可以简单地说:"就是把软件做出来." 这基本上等于什么都没有说.而软件开发究竟是怎么回事,大家也没有搞明白,于是隐喻就派上用场了.当你要向一个完全没有概念的朋友,解释什么是软件开发的时候,你无法向解释建筑工程那样把他带到现场去看--案件开发的现场,你的朋友会以为软件开发就是一群人坐在电脑前面打键盘--你只能打比方:它就

敏捷软件开发---闲话敏捷

第一篇状态模式,其实比本文更先发表.但是我终觉得要写点什么,来开始我的敏捷的旅程.知道看了bob大叔这本书 以后,我才知道敏捷到底是怎么回事,纯属个人东拉西扯,所以就叫闲话敏捷. <敏捷软件开发>问世与2003年,距今已有13个年头了,能够历久长盛不衰,必然有其光辉的一面. 以下都是个人的经验结合<敏捷>讲解和分享一些东西. 敏捷软件开发 乍一看有点摸不着头脑,不知道是什么东西. 软件开发从计算机问世直接快60个年头了.软件也从非常简单的机器语言,到现在的面向对象. 在这个过程中,

关于软件开发,你老板不知道的7件事

英文原文:7 Things Your Boss Doesn’t Understand About Software Development 你的老板是否不理解你的工作?本文将有助于你更好地理解为什么你的老板不理解软件开发. 你的老板可能真的很棒.我在我自己的编程生涯中就遇到过几个真心棒的老板,但即使是最棒的老板似乎也常常总是不能理解软件开发. 事实上,我想说的是当涉及到不止编程的几个元素时,大多数软件开发经理都有点目光短浅. 所以,我编译了一个简短的清单,用来说明关于编程一些最让你老板.开发经理

2017.07.07 IT项目管理笔记整理 第10章 敏捷软件开发

什么是敏捷软件开发方法 1.敏捷方法是一类软件开发流程的泛称: 2.敏捷方法是相对于传统的瀑布式软件过程提出的: 3.敏捷方法可以用敏捷宣言(4条).敏捷原则(12条)来概括: 4.敏捷原则通过一系列的敏捷实践来体现出来: 敏捷开发软件的特点:1敏捷软件开发更强调程序员与业务专家.用户之间的紧密合作,面对面的沟通,认为这种方式更有效 2能够很好地根据需求的变化编写代码 3频繁交付新的软件版本 4采用紧凑和自组织的软件开发团队 5更注重个体在软件开发中的作用 敏捷软件开发的方法有:1极限编程 2.