2.1隐喻的重要性
隐喻:
用一种更容易理解的事物来说明一个不太容易被理解的事物(我这样认为)
通过把你不太理解额东西和一些你较为理解、且十分类似的东西作比较,你可以对这些不太理解的东西产生更深刻的理解。这种使用隐喻的方法叫做“建模”(书中原话)
2.2如何使用软件隐喻
软件隐喻:
与其说一个软件隐喻像是一张路线图,还不如说它是一盏探照灯。它不会告诉你到哪里去寻找答案,而仅仅是告诉你如何去寻找答案。隐喻的作用更像启示(启发、试探法),而不是算法
算法:
是一套定义明确的指令,使你能完成某个特定的任务。它具有可预测性、确定性、不易变化性。
试探法(启发式方法):
是一种帮你寻求答案的技术,但它给你的答案是具有偶然性,因为启发式方法仅仅告诉你该如何去找,而没有告诉你要找什么。
(我的理解:试探法就是一种告诉如何一步一步去找到答案,但不保证你一定能找到。它具有不可预测性、不确定性、易变化性。)
如何使用软件中的隐喻?
应该用它来提高你对编程问题和编程过程的洞察力(划重点);用它来帮助你思考编程过程中的活动,想象出更好的做事情的方法。你不可能看到一行代码并说它违反了我们所描述的某个隐喻。但随着时间的流逝,人们会发现,相对于不善运用隐喻的人来说,那些使用隐喻来照亮自己的软件开发过程的人,他对于编程的理解会更好,并且能够更快地写出更好的代码。(如果你对这段话不太理解,多读几遍)