标签:
没有学习新的课程,课上老师复习了前几节课上学过的知识点并且布置了作业,练习画数据流图,ER图和数据定义。
这周我阅读了《代码大全》第二章用隐喻来更充分地理解软件开发
什么是隐喻? 通过生活中或者工作中一些现有的事物作为模型,来描述那写未知的,或者不正确的事物,以期望在钻研的路上,得到指引,得到方向,得到目标。
在人类发展史上,很多的成就是在隐喻的帮助下出现的,比如气体的分子运动来至一个叫“撞球”的运动,光的波动理论来至声音的波动传播,等等。
隐喻并不是总是带来好处的,有的时候,也会将我们带入歧途。那么如何找到一个恰当的隐喻帮助我们实现目标,就是最重要的地方了。我想,这应该也是本章的重点。
作者将隐喻起到的作用比作是一个启示的,启发的过程。
然后花了很大篇幅来描述启发和算法的异同点
这章概况的来说写了6点观点:
(1)隐喻是启示而不是算法,因此它们往往有一点随意。
(2)隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好的理解。
(3)有些隐喻比其他一些隐喻更贴切。
(4)通过把软件的构建过程比作是房租的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的。
(5)通过把软件开发中的实践比作是智慧工具箱中的工具,我们又可以发现,每位程序员都有很多工具,但并不存在能适用于所有工作的工具,因地制宜地选择正确工具是成为能有效编程的程序员的关键。
(6)不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。
标签:
原文地址:http://www.cnblogs.com/mybelieve/p/5483336.html