终于读完人月神话了,一直没有时间写读后感,现在距读完这本书已经一个星期了。现在把自己能想到的写一下吧!
1 增量式开发。书中特别建议这种开发模式,这种开发模式最大的好处是让开发人员能够在每个阶段有一个可以运行的系统,这样开发人员每个阶段都有成就感,不会觉得枯燥。而且每个阶段开发出的系统其实都可以使用,这样用户可以使用并且有什么不对的地方可以及时纠正。我上一个系统就是采用增量式开发的,我们先把系统的最基本功能实现了,这样系统已经可以使用,可以交给测试和用户来检测和使用。而且当看到一个能运行的系统出来后,那种高兴是不言而喻的。我们采用的架构是SSH(spring-spring mvc-hibernate),设计模式不用说也可以看出是MVC,这种设计很容易进行增量式开发,新的功能和旧的功能的交叉的地方只有一个接口,一个类。而且使用了hibernate,如果后期有新的数据表或者字段加入,也不会对以前的系统有大的影响,只需要局部调整就行。记得有一次面试中面试官问我:为什么MVC设计模式会如此流行?当时的回答是:易学,能够复用。面试官并不满意这个回答,结束后问朋友,朋友答:易扩展,易维护。我觉得这个回答明显要好很多,因为对于大多数软件来说都是经常变化的,反而复用并不多。这本书中也提到软件肯定会有变化,如业务的增加,取消,改变等都会引起软件需求的变化;我自己经历的软件和朋友所说的都证实了现实开发中软件的变化。这样就需要软件易扩展,易维护。
2 书中还提到一点,虽然OS/360失败了,但是在开发它的过程中解决了很多技术难题。这使我想到为什么大家总说只有做项目才能提高技术水平。的确是项目开发过程中会遇到很多问题,这样大家才会想办法解决,没有项目,你不会去想有什么问题。但是在项目中遇到问题的话,你最好的求助方式是网络和书籍,而且如果在遇到问题的时候能深入研究书籍的话你才会进步的比较快。以前我们公司有一个同事,他好像是一个百事通,新出的流行技术他大都会用,我问他是怎么做到的。他答:先看网络,有新技术的话就深入的看看书,然后再自己写一个小例子。这种学习的方式的确不错,但是我自己却做不到。