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

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

  • 隐喻是启示而不是算法,因此他们往往有一点随意。
  • 隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解
  • 有些隐喻比其他一些隐喻更贴切
  • 通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的
  • 通过把软件开发中的实践比作是只会工具箱中的工具,我们发现,每位程序员都有许多工具,但并不存在任何一个能适用于所有工作的工具,因地制宜地选择正确工具是成为能有效编程的程序员的关键
  • 不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。

隐喻是以一种类比的方法根据一种已知的“模型范式”去理解一种新的领域。这很符合人类认知新事物的思维习惯。但隐喻不是神话,更不是精确的真理,就像某个比喻一样只能在某一个局部进行双向的类比,未必就是全局最合适的。(同时,注意比喻是有局部性的,不是全局可逆的)

posted @ 2018-04-03 21:20  Tacey Wong  阅读(812)  评论(0编辑  收藏  举报