实验5
《构建之法》心得体会
在读皱欣老师的《构建之法》之前,我以为软件工程和IT只是单纯的打代码,和解决bug而已。并且对一个软件从图纸上的构思到实际产品间的过程没有深刻的了解。在读了《构建之法》后让我对软件工程这门专业和软件开发有了新的认识。
皱欣老师提到“计算机科学”和“软件工程”之间的联系。皱欣老师指出在中国大陆高校大多数设有与“计算机科学”相关的院系。除了学术水平名列前茅的几个学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究(所谓“横向项目”),大部分学生毕业后也投身于解决具体的工程问题。使得“计算机科学”这门科目于软件工程培养的方向非常雷同。这是目前中国IT产业发展的现状“计算机科学”需要的是创新,而“软件工程”需要是成熟的实践方法。
在此之前,我认为软件的检测是在整个项目完成之后做的事。然而在读了《构建之法》后,知道单元测试十分重要,并且是伴随着软件开发的过程。而不是在项目完成之后再进行测试。并且单元测试最好由作者来完成,因为作者是最了解程序的人。在《构建之法》的第2章有一句话给我留下了很深刻的印象“100%的代码覆盖率并不等同于100%的正确性”。原来我以为100%的覆盖率就等同于这个程序是正确的。所以这句话给我留下很深的印象。在书中不仅有写出技术方面的事,还写出了一个软件工程师的成长。这给我们即将毕业的学生指了一条路,让我们对IT行业有了认识,让我们可以规划自己的职业生涯。并且给我介绍了两人合作需要注意的事项和好处。也让我认识了一个新方法“结对编程”。“结对编程”两人就像驾驶飞机的驾驶和副驾驶。一起编程、一起做单元测试、一起做集成测试、一起写文档。这样可以降低失败率。
在书中也对需求分析有了很深入的讲解。比如问卷调查,问卷调查是我们平时最常见的得知用户需求的方法。但是问题的好坏决定了问卷调查结果的质量。所以书中也有讲解了问卷调查问题的编写。给予了我们新的思路。书中皱欣老师也已第一人称的视角给我们讲解了经典的案例。让我们更加生动形象的了解工程项目的发展与运营。
不懂的:
1.单元测试有Vsts自动为你生成了测试的估计,但是自己要写的代码不明白。在我自己的理解是只要把实现方法填进去。
2.在bug那边举了个肉生蛆的例子。这个例子说明了bug什么性质?
3.黑箱白箱和黑盒白盒之间有什么区别?黑箱白箱测试比黑盒白盒测试多的30多万的记录是多在什么方面?
4.单元测试的时候说做单元测试最好由作者本人来,但是为什么后来又说测试的角色要独立出来?
5.第17章讲到人,绩效和职业道德。难道在一个技术行业里技术水平不应该排在第一位吗?