梦断代码阅读笔记1
《梦断代码》作者罗森伯格对OSAF 主持的Chandler 项目进行田野调查,跟踪多年,试图借由Chandler 的开发过程揭示软件开发中的一些根本性大问题。本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。更别说我们还处在软件领域的底层,更是感同身受啊!软件乃是人类自以为最有把握,实则最难掌控的技术。
我一直认为,读书最大的功用之一,就是能激发我们的思考,是打开思维源泉的阀门;这本书很好的起到了这一作用,它让我们去思考软件开发的过程、方法、管理…,为我们思考这些提供了真实生动的案例,也对现实的工作有些指导和警示作用。 为什么好软件如此难做?这是我本人,我想也是很多人都在苦苦思索的一个问题,虽然无人能有完全确定的答案,但通过书中的记述,和个人思考,还是可以获得一些启示: 计算机严格的逻辑性和精确性,同人类不严密的逻辑,模糊多变的思维模式之间的矛盾,造成的人与机器之间沟通的障碍。
开发团队之间相互沟通协作的成本,导致产生《人月神话》作者布鲁克斯法则的悖论-往已延误的项目中补充人力,只会使其继续延误。 项目目标不明确,标靶变来变去,因此有时决定说什么,比怎么说更困难。 项目目标不切实际,从一开始就想做一个适合所有人的,能做所有事的系统,造成就如要做永动机一样的结局。 我想人们大多都知道古老圣经中巴别塔的寓言,软件工程难于成功的原因,也许就蕴藏在这寓言启示之中,本质上在于沟通的问题: 软件使用者与软件的沟通,软件需求者与开发者的沟通,程序员与程序员的沟通,程序员与机器的沟通。 所有这些层层累叠起来,构筑了一道道通往成功彼岸的屏障。 也许有一天所有这些沟通的障碍都能被消除,人们能轻易的相互理解,软件工程的巴别塔真的就能轻易的建造起来了。
整本书以一个发生在当下的真实的故事写成,不仅仅是写给程序员的,也是写给软件产品经理和其他与软件开发相关的或对此感兴趣的人的。每一个经历过软件开发过程的人,对书中的生动描述都会感同身受!
我们应该作以下反思:大规模的软件,谈不上优雅的结构,只能像金字塔一样,由大量的石块堆砌,背后是无数奴隶的工作。我们现在的软件开发不正是如此吗?每天都在开发、调试、找Bug中度过,日复一日,完成了一个又一个的项目,最终得到只是一堆堆粗制滥造、自己都失望的代码。而造成这些的原因是什么,我想我们应该好好想想.......