第五次作业
《构建之法》心得体会
这个学期,我们学习了一门名叫《构建之法》的书籍,学至今日,我深刻地体会到《构建之法》这本书的好处,它跟我们讲述了什么是软件工程,如何成为一个优秀的程序员和软件工程师,教我们如何做需求分析和软件设计,有很多生动的举例和代码,还有教我们如何合作,软件产品的推广,软件的运营和盈利方式等。让我对软件这个行业不再那么迷茫,同时这本书相对于以往的软件工程书籍来讲,去除了大量的概念描述篇幅,举了很多生动有趣的例子,不再那么的枯燥,难懂。比如在第三章的软件工程师的成长中有个例子让我记忆深刻:
大概在我小学五年级的时候,大家开始玩魔方,我们家也买了一个。我和几个小孩折腾了一会,没搞出什么名堂。我哥哥却很快弄出一面一样的颜色。后来我也琢磨出来了这一步。再后来我才知道魔方有一些模式和一些口诀,按图索骥,依口诀而行,就会从一面玩到一面再加一层,再到加两层,然后把最上层四个角的颜色搞对,然后再按照一两个口诀翻十几下,六面就做好了!我玩着玩着,就把各种模式和口诀都掌握了。上初中的时候,我还在课间表演过,赢得一些男同学的好评, 女同学似乎对此不感兴趣。要在当时,我的简历一定会在“技能”一栏写上: “精通玩魔方。” 后来我就不玩魔方了,这样过了好多年。不久前我在一个实习生的桌上又看到了魔方。我拿起来,似乎不用想,当年的口诀就在手上。转啊转,一面,一层,两层,那个男实习生露出崇拜的目光……直到最上一层,嗯,口诀是什么来着?我试了几种可能,好像都不行。我看到周围的女实习生似乎不感兴趣,那就算了吧。 看来我的简历要改写成: “精通玩魔方,只到第二层。” 后来我想,把第二层拼好,我只知道找到某个模式,按照某个口诀执行即可。但是我并不了解为什么这个口诀能把第二层拼好,同时又不打乱第一层的结果。我更不知道如果在执行中走错了几步,如何随机应变,挽回局面。离开了口诀的话,我只能把魔方的一面拼出来。从这点来看,我的魔方技能应该是: “能够独立地还原一面,其他看口诀可搞定。”
这个例子说明了技能的重要性,同时在举例完后,邹欣老师还教了我们如何提升自身的技能:通过不断地练习,把低层次的问题都解决了,才有时间和脑力解决高层次的问题。我觉得这个一语命中,软件代码的编写很多都是从模仿开始的。
但这本书比较难学的,有的知识讲的比较抽象,比较难理解。以下就是我阅读《构建之法》遇到的问题和疑问:
问题1:SCM在软件交付用户之前和之后,如何控制变化?
问题2:如何定义或寻找方法论的边界?
问题3:项目开发过程中通过什么办法规避员工流动的风险?
问题4:如何避免bug发生?
问题5:如何快速、准确地建软件工程的各种图?
问题6:软件工程如何进阶?