本人今年大三,软件工程专业,学校是在大三下开始推荐这本书。本学期我们上了《软件测试》这门课,结合翠娟老师课堂和书里的内容,让我印象深刻的是在代码开发中结对编程和团队合作的重要性。在此之前,老师一遍遍的跟我们强调软件工程的重要性,但在整个课程的学习过程中,只背了些晦涩难懂的概念。看了几章《构建之法》之后,不敢说瞬间打通任督二脉,但真的很让我着迷。作者的思路很清晰,文字也很有趣,让人欲罢不能。目前看了一部分还没看完,但我已经从中学到了很多,作者关于软件开发的流程介绍以及程序员生涯的理解,真的让我学到了很多。
开篇章先是提到了软件测试方向的内容:软件=程序+软件工程,几乎所有的程序猿都知道这句名言,而且我们在学习软件工程时翠娟老师也向我们强调了这点,老师还说过软件=程序+数据+文档。重点是这本书它不同于其它的专业书一样,枯燥无趣深奥。反而是采用对话、举例等形式展现,像书上用来阿超、小飞等人物风趣幽默的对话打破了传统计算类讲解书的单调。这样一本书适合于各水平的人阅读观看,可以学习到软件工程的 方方面面,结合自己,查缺补漏。书中涉及到技能方面对学习该知识的我有一定的指导作用。就其书没有通篇枯燥的技术讲解来说,会很容易就能理解软件、软件工程、单元测试、软件开发流程等等的知识。
书本第四章的两人合作和第五章的团队和流程,我觉的这两个章节在我们今后进入企业上班工作起很大的作用,做一个程序,不是一个人可以完成的,团队里每一个人负责什么?需求设计谁写?谁测试?这些都涉及到团队里的每一个人,所以团队中如何分工,如何把各自负责的部分合成一个整体项目,这就考验了整个团队的团结分工性。第四章中我发现了以个在平常的编程里我的错误,在我的程序中,我的注释大多都是在变量名的后面,标注了该变量是什么。突然觉得这样的做法很蠢,一个变量,其实要是命名做的好,那么让人一目了然,就少了一些没必要的注释。
在已经阅读的章节中相比其他章节而言,个人最喜欢3、5章。同时,每个章节最后的练习与讨论是一堂丰富的扩展课,有非常好的资源。好书需要细细品读,还有很多的内容我没有细读,所以还需我花更多的时间投入其中,品味深藏其中的奥妙。
提问:
问题一:我们要达到什么要求才能算是一个合格的软件工程师?
问题二:在即将就业的这个节点,以我们目前的能力能从事什么工作?
问题三:软件代码能力真的太薄弱了,怎么快速提高啊?
问题四:对于编程薄弱的同学来说,掌握编程思想是不是比较难?
问题五:单元测试中的代码覆盖率一定要100%吗?