读后感:
对于这本《构建之法 现代软件工程》我仅仅是因为作业才去阅读,但当我阅读后,才领悟到阅读此书之必然。
对于软件工程的学生来说,我们学习了很多的专业课程,像编程语言、算法、数据结构、编译等等。但是我觉得理论和实践之间有着不可逾越的鸿沟。然而在读到邹欣老师的这本书《构建之法 现代软件工程》的时候,我解决了我一直纠结的这个问题。我觉得这本书有很多特点:
1.文字+图画;很多专业书都有一个问题就是整本书都是字,虽然不乏内容优质的书但是很容易让读者在阅读的时候困倦疲惫,我一直接触到额计算机相关的书大部分都是那样,所以邹欣老师新颖的编书模式很吸引我,也是我一个星期能读完这本书的原因之一。本书包含了很多有趣的图片,读者也可以通过这些图片加深对相关概念的理解。
2.理论+实践;本书介绍了软件工程的相关概念,如:软件工程、单元测试、软件开发流 程、敏捷开发、软件需求、用户体验、软件测试、质量保障等。然而在介绍这些基本概念的同时,邹欣老师也全面地诠释了它们在实际的研发工作中是如何表现的,它们又是如何与每个开发和测试人员息息相关的。在介绍这些概念的时候,邹欣老师经常举例,也使得大家更加的容易理解。
3.幽默+严谨;软件工程里面的概念比较的枯燥和单调,邹欣老师为了增强学生的兴趣,描述的语言十分幽默诙谐,比如书中用“阿超”、“国栋”、“小飞”、“小李”等角色之间的对话来揭示一个概念的本质,通过他们之间风趣的对话又加深了对相关概念的理解。同时有作为专业技术的指导书,邹欣老师在很多技术介绍时也都使用了数据,真实情况等分析,严谨而认真。
二.个人疑问:
1.我们在做一个软件对软件的质量应该有多高的要求?当我们的代码的规模很大时基本上不可能做到没有bug。很多软件在还未修复调试好的时候就发布使用,虽然基本功能都能完成,但是还是有很多bug,最后会导致修改一些bug成本太大,或者造成的影响太大。但是我们如果一味追求高质量,一直压着修复调试发布太晚也会造成不少的损失。我们应该如何把握好这之前的度,能够较为和平的维持双方关系?
2.关于bug与测试。从最开始接触计算机编程我们就明白不可能有人的程序编的毫无缺陷,bug是一直都会有的。但是怎么判断这些bug的重要程度?怎么确定对某个bug的修改不会影响其他功能?怎么分析这个bug对于整个程序的影响?有没有一种比单元测试更简单快捷的方式来保证所有单元的正确性?即使我们经过了足够的测试,还是不能保证在实际运行中不会出错,尤其是当开发面向对象的网站或者软件时候,因为使用对象的多样性会遇到很多问题 。那么在维护阶段出现bug有没有比打补丁更规范适用的方法?
3.书中有一段对话很有意义,大概讲一个新人进入公司看到前辈写的一些程序觉得很垃圾想要推到重写,这时候一个老员工告诉他他现在看到的这些程序也是前辈刚进入公司的时候觉得程序很不好改写的结果,反而还没有原来的好用。我们在前人的基础上去使用这些软件但是不代表我们觉得他不好我们就有能力写的比他好,所以该如何正确对待别人的程序呢?可能有你觉得不好的地方,但是肯定也有你要学习的地方。
这就是我对于这本书的阅读感受。