`
hn_liuyi
  • 浏览: 32445 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

软件隐喻

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

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

相关推荐

    代码大全,中文版,doc格式

    2.2 如何使用软件隐喻:作者建议开发者将日常生活中熟悉的概念与编程中的抽象概念相联系,以此来构建一个更生动的编程思维框架。 2.3 通常的软件隐喻包括: - 写代码:将编程比作写作,强调表达清晰、逻辑连贯。 ...

    软件构造汇编.pdf

    软件隐喻是一种有助于开发者理解编程概念的工具,如软件书写、软件播种、软件珍珠培植法、软件创建和实用软件技术等。通过隐喻,开发者可以运用类比方法深化对编程语言和流程的理解。 在进行软件构造之前,需要做好...

    《代码大全》学习笔记

    **2.2 如何使用软件隐喻** - **寻找相似之处:** 寻找软件开发过程中与现实生活中的相似之处。 - **创造连接:** 在不同的概念之间建立联系,以便于理解和记忆。 **2.3 通常的软件隐喻** - **2.3.1 软件书写:** ...

    代码大全第二版英文版

    - **如何使用软件隐喻**:选择恰当的隐喻来指导开发过程,例如将软件开发比作建筑设计或桥梁建造等。 - **常见软件隐喻**: - 建筑隐喻:强调结构和规划的重要性。 - 艺术隐喻:突出创造力和个人风格的作用。 - ...

    代码大全.pdf

    常见的软件隐喻包括但不限于:将网络比作高速公路、将操作系统比作指挥交通的警察、将代码库比作图书馆等。这些隐喻有助于非专业人士理解复杂的软件架构和原理。 - **2.4 小结** 通过隐喻来解释软件开发中的各种...

    Code Complete

    - **Section 2.2 How to Use Software Metaphors(如何使用软件隐喻)** - 指导读者如何有效地运用隐喻来解决实际问题。 - **Section 2.3 Common Software Metaphors(常见的软件隐喻)** - 列举并解释了一系列...

    代码大全(英文第二版非扫描)

    - **常见软件隐喻**:如建筑施工、烹饪等,这些隐喻有助于加深对软件开发各个阶段的理解。 #### 五、前置条件 - **重要性**:在开始编码之前确定项目的类型和需求是非常重要的。 - **项目类型**:识别项目的性质...

    代码大全中文第二版

    - **如何使用软件隐喻**:将编程中的各种元素与现实生活中的事物相联系,比如将函数比喻为工厂生产线上的工作站等。 - **常见的软件隐喻**: - **建筑学**:将软件架构比喻为建筑设计,强调结构的重要性。 - **...

    隐喻界面设计

    隐喻界面设计是一种设计哲学,旨在创造一种无需说明书的用户界面,使得用户能够直观地理解软件或应用程序的功能和操作方式。这种设计策略的核心在于模仿现实世界的物体和行为,使虚拟环境更加贴近用户的生活经验,...

    批评隐喻分析视角下政治语篇中的概念隐喻研究.docx

    在对中非合作论坛文件的分析中,作者运用NLPIR汉语分词软件和AntConc检索软件识别并统计了语料中的概念隐喻,发现主要存在结构性隐喻和本体性隐喻两大类,包括建筑隐喻、旅程隐喻和战争隐喻等。例如,"构建人类命运...

    李凌霞 (修改稿)芒种 基于认知隐喻分析《李尔王》的悲剧主题.zip

    在软件开发中,设计模式可以被视为一种隐喻,它们是解决常见问题的标准化解决方案,为开发者提供了一个通用的语言,帮助他们理解和交流设计决策。 然而,以上内容与压缩包内的《李尔王》分析文档内容并不直接相关。...

    当代企业发展观的隐喻构建.docx

    使用EditPad Pro7软件对隐喻关键词进行检索,进一步量化隐喻的使用频率,并引入“源域回鸣值”概念,以评估隐喻在企业家话语中的重要性。源域回鸣值的计算方法为隐喻关键词的不同形态出现次数的总和,它提供了对隐喻...

    俄语计算机术语称名的隐喻研究.doc.doc

    前者指的是借用现有概念的相似性来命名新术语,如“软件”(программное обеспечение)借用了“装备”或“供给”的概念。后者则是在无直接现实对应物的情况下,通过创造性的比喻来形成术语,...

    基于动态分类的隐喻识别方法.pdf

    这篇由苏畅、付泽、郑发魁和陈怡疆共同发表在《软件学报》上的论文,探讨了一种基于动态分类的隐喻识别新方法,旨在更准确地捕捉和理解英语中的隐喻表达。 传统的隐喻识别方法通常基于静态的规则或统计模型,这些...

    概念整合理论关照下的计算机英语隐喻汉译研究--翻译学硕士学位论文.doc

    1. 计算机英语中隐喻的特点:分析计算机领域中常见的隐喻形式,如将计算机比喻为生物体(如“病毒”、“网络脉络”),或者将抽象概念具象化(如“数据流”、“软件心脏”)。 2. 概念整合在翻译中的应用:阐述如何...

    实用软件工程讲义ppt

    在解决软件危机的过程中,《人月神话》提出了“焦油坑”的隐喻,警示我们单纯增加人力并不能解决复杂软件项目的问题,反而可能使情况变得更糟。因此,软件工程倡导采用系统化、规范化的工程方法,如敏捷开发、迭代...

Global site tag (gtag.js) - Google Analytics