这本书读了大概一个月吧,因为这个是老师要求必读的,所以读的更加细一些。而且加上春节事情比较多,就拖到了现在才写阅读笔记。这本书刚开始读就感觉它写的很有趣,跟小说一样,好像是在叙述故事,我从中也学到了不少知识。
书中说道,“关于软件缺陷的话题,只要谈上几分钟,必会有人拍案叹道,‘为什么就是不能像造桥那样造软件?’”确实,造桥和造软件有什么不同呢?细想起来,两者之间的根本不同在于,一个是体力劳动,以机械为主;一个是脑力劳动,以人为主。人,从来就不是一个确定的东西,有喜怒哀乐,有自己的偏爱和偏见,充满了各种不确定性,以它为主的项目,自然不可能做到分毫不差。软件工程的主要目的,就是尽量把这种不确定性从项目中剥离出来,使做软件真正成为一个工程,而不是个人英雄主义的胡拼乱凑。
另外,我们觉得软件难以对付,是因为它不可见,不可见也并非唯一问题,我们也看不见电力、磁力或重力,但却能为多数实用目的可靠地预测其行为,可是我们没有理论可以用来计算对软件尺寸、性能和复杂度的限制,甚至不能以符合逻辑的手段来说明软件产品要做的事情以及它如何做到的问题。就像那个关于软件工程的笑话里说的,如果你不能把问题重现,程序员就没有办法解决问题。