《代码大全》学习笔记(2):利用隐喻对编程进行更深刻的理解

简介: 2.1 隐喻的重要性       重大发现往往是从类比中产生的。通过把一个你所陌生的事物与你所熟知的事物比较,你会对它有进一步的认识,从而形成你对它的独到的深刻理解,这种隐喻方法被称之为“模型化”。

2.1 隐喻的重要性
       重大发现往往是从类比中产生的。通过把一个你所陌生的事物与你所熟知的事物比较,你会对它有进一步的认识,从而形成你对它的独到的深刻理解,这种隐喻方法被称之为“模型化”。
       模型的力量在于它能提供生动形象的概念而易被人整个接受。


2.2 如何使用软件隐喻
         一个公式是一套完整建立的、进行某一些任务的规则;它的结果是可以预测的、确定的,并不取决于运气。
        启发是一种帮助你寻求答案的技术,它的结果往往和运气有关。
        公式和启发之间的主要区别是:它们与答案之间的直接程度;公式给予直接指令;而启发则告诉你该怎样找到这些指令,或者至少告诉你到哪里寻找它们。
        编程中最富于挑战性的问题便是将问题概念化,编程中许多错误往往都是概念性错误,因为每个程序在概念上都是独特的,所以创立一套可以指导每一个问题的规则是非常困难,甚至是不可能的;这样,从总体上知道该如何解决问题,便几乎和知道某一特定问题的答案一样重要了。
       怎样使用软件隐喻的呢?应该用它来帮助你获得关于编程过程的内在理解,利用它们来帮助你考虑编程活动,想象解决问题的更好办法。


2.3 通常的软件隐喻
2.3.1 软件书写:写代码(Writing Code)
       几乎有50%的软件开发工作量是在软件最初发行之后才进行的。编写软件,主要工作量集中在初始阶段。在软件创建中,把精力集中于初始阶段往往不如在初始工作完成后,再集中精力进行代码的重新调整工作。
2.3.2 软件播种:生成系统(Growing a System)
       你设计一小部分,编码一小部分,测试一小部分,然后在某个时候把它加到系统上,通过小步走,你减少了每次可能遇到的错误。
2.3.3 软件珍珠培植法:系统积累(System Accretion)
       增量设计、构造、测试是软件开发的最强有力工具之一。
2.3.4 软件创建:建造软件(building software)
        较大的规模和复杂性往往意味着可以产生较大的成果。
2.3.5 实用软件技术:智能工具箱(The Intellectual Toolbox)
        把方法和技巧当作工具是很有益处的,因为这样可以使我们对其有一个正确的态度。
2.3.6 复合隐喻(Combing Metaphors)
        使用隐喻是一项模糊的事情。


2.4 小结

(1) 隐喻通过把软件开发与你所熟知的事情联系在一起,从而使你对其有更深刻的理解。

(2) 一些隐喻要好于其它隐喻。

(3)把软件创建与建造建筑物类比,表明开发软件前要精心准备,并表明了大规模项目与小规模项目之间的差别。

(4) 认为软件开发实践是智能工具箱中的工具进一步表明,每个程序员都有许多自己的工具,没有任何一种工具是万能的;为每件工作选择合适的工具,是成为一个优秀程序员的首要素质之一。

 

       本章小结:

        本章的主题是“隐喻”。

        我个人认为,这里的“隐喻”,其实就是一个“模型”的概念。我们可以把很多生活中的东西搬到软件开发中。例如,面向过程和面向对象,瀑布模型、数据挖掘等。善于总结规律,将事物抽象出一个共同的特征,是软件开发人员必备的素质。

目录
相关文章
|
2月前
|
开发者
从代码到哲学:编程中的思考与启示
【10月更文挑战第34天】在数字世界的编织中,每一行代码都蕴含着深邃的逻辑与创造的火花。本文通过探索编程的本质、代码与生活的关联、以及技术发展带来的社会影响,揭示编程不仅仅是技术的堆砌,更是人类智慧与哲学思考的体现。我们将一起走进代码的世界,发现那些隐藏在逻辑背后的哲理与人生启示。
|
3月前
|
算法
从代码到哲学:编程中的人生启示
【9月更文挑战第35天】在代码的世界中,我们不仅是在编写程序,更是在书写生活。每一行代码都蕴含着逻辑与美,每一个算法都承载着智慧与挑战。本文将通过编程的视角,探讨人生的意义、选择的重要性以及面对困难的态度,带你领略技术背后的深刻哲理。
|
4月前
|
机器学习/深度学习 数据挖掘 大数据
探索代码之美:我的编程旅程
【9月更文挑战第14天】在编程的世界里,每一行代码都承载着创造的力量。本文将带你走进一个程序员的内心世界,从最初的迷茫到逐步找到方向,再到深入技术的核心,探索代码背后的逻辑与美学。通过个人经历的叙述,我们将一同感受编程带来的挑战与成就感,以及它如何塑造我们对世界的理解和未来的期望。
|
4月前
|
设计模式 算法 程序员
代码之美:探索编程艺术与实践
在数字化时代,编程已成为一种创造性的艺术。本文将深入探讨编程的美学原则、设计模式的应用以及高效编码的实践技巧,旨在为读者揭示如何通过技术和创新思维提升代码质量,实现技术与艺术的完美结合。
|
2月前
|
机器学习/深度学习 人工智能 算法
编程之路:从代码到哲学的感悟
【10月更文挑战第42天】在编程的世界里,每一行代码都是思想的体现。本文将通过个人的技术成长经历,探讨如何从简单的代码编写进阶到对技术哲学的理解。我们将一起走进编程的内在世界,发现那些隐藏在键盘敲击背后的深刻意义。
|
29天前
|
人工智能 数据挖掘 开发者
探索代码之美:我的编程旅程与感悟
在数字世界中,代码是构筑梦想和现实的桥梁。本文将带你走进编程的世界,分享我从初学者到熟练开发者的旅程,以及在这个过程中对技术、学习和生活的深刻思考。从最初的迷茫,到后来的热爱,再到现在的不断探索,编程已经成为我生活的一部分,它教会了我如何面对问题,如何找到解决方案,更重要的是,它让我学会了思考。让我们一起踏上这段旅程,感受代码的魅力,发现生活中的无限可能。
|
2月前
从代码中感悟人生:一段编程旅程的启示
在编码的世界里,每一行代码都像是生命中的一次选择,每一个函数都承载着特定的使命。本文以编程的视角,探讨技术成长与人生哲理之间的奇妙联系。从最初的迷茫到逐渐找到方向,再到不断学习和提升,这段旅程充满了挑战与收获。正如甘地所言:“你必须成为你希望在世界上看到的改变。”通过编程,我们不仅塑造了软件,也塑造了自己。
|
2月前
|
设计模式 算法 搜索推荐
探索编程之美:从代码到哲学的启示
在数字世界的深处,编程不仅仅是一系列指令的排列组合。它是思考的艺术,是解决问题的舞蹈,更是人类智慧与创造力的体现。本文将通过浅显易懂的语言,带你领略编程的魅力所在,并结合个人技术感悟,探讨编程如何影响我们的思维方式和世界观。让我们一起跟随代码的脚步,发现那些隐藏在逻辑背后的哲理与美。
|
3月前
|
算法 开发者
探索代码之美:一段编程旅程的反思与启示
【10月更文挑战第3天】在数字世界的编织中,代码不仅是命令的集合,更是思考的结晶。从大学毕业时的迷茫到勇敢尝试新领域,再到不断学习和提升,我找到了人生的方向。本文将分享我的技术感悟,探讨如何通过编程实践深化理解,提高问题解决能力,并最终实现个人成长。
|
3月前
|
算法 程序员
从代码到哲学:编程中的启示与人生思考
在编写代码的过程中,我们不仅构建程序,也在无形中编织着生活的哲理。每一行代码都像是生命中的一步,它们共同构成了复杂而精彩的生命之旅。本文将从编程的角度出发,探讨技术实践中的深刻启示,以及这些启示如何影响我们对生活、工作和自我成长的理解。

热门文章

最新文章

相关实验场景

更多