《构建之法》

构建之法

2021.5.16

 

这本书的作者邹欣老师在微软公司工作,他在整本书中把对软件构建的方方面面都写得很清楚,包括需求,设计,开发,测试,项目管理......甚至国内很多公司都无法做到像书中说的流程那么全面和到位。作者的思路很清晰,文字也很有趣,让人欲罢不能。全书都有很大的参考价值,至少对于我目前这样的状态的程序员来说,了解自己要怎么做,做的方向比要做什么更重要,本书提供了很多建议和方法,比如PSPPerson Software Process,在我看这本书之前,完全没有听说过PSP这个东西,),也由此了解到作为一个软件工程师,任务清单里面不仅只有要编好程这一项而已,还有计划,需求,测试,评估工作量等能力需要刻意培养。

这本《构建之法》解答了我从一开始接触编程就产生了的疑问:到底如何完完整整的做出一款软件产品?一进入大学,我就被形形色色的app,比如淘宝appQQ等所吸引,这么复杂的作品到底是多少人花了多久以怎样的模式开发出来的呢?《构建之法》从个人编码开发讲到团队合作,从单元测试讲到编码规范,更是从开发之前的需求分析和项目规划开始,完完整整的阐述了一个项目的出生和成长,还讲到了团队的分工和项目经理的职责,这都对我未来的职业规划产生了巨大影响。程序员如果只会写程序,那么他永远只是一个低级的工人,但是一旦他有了更高的视野,能从整个项目和团队的角度去思考,他就会成为一个真正的工程师,我也在不断朝着后者的方向奋斗着!

这本书最具特色的一个地方是把很多生涩难懂的概念用学生之间对话的诙谐幽默、生动风趣的场景来展现了出来,甚至还加入了一些电影中的经典台词、一些足球术语和篮球明星的专属名词,让我这个电影迷足球迷篮球迷一边读一边大呼过瘾,更开心的是学习到了很多知识,尤其是在软件工程项目开发过程中的许多技巧和需要注意的问题。例如在第五章讲解软件团队模式的时候用足球队的守门员、前锋、中场和后卫来类比,非常容易理解,不仅有趣而且易懂;再比如在第八章的需求分析中的人类学调查的讲解中,利用一个软件工程课上的同学的顿悟生动形象地讲解了人类学调查这个晦涩难懂的知识点。这本书还创造了很多有趣的人物形象:老成的项目带头人阿超、知识总是马马虎虎掌握的果冻、爱好丰富的小飞和产品经理小李,每个人物都很饱满,读这本书的时候也很容易让我这个读者产生代入感,读起来自然又快又让我印象深刻。

书中让我最茅塞顿开的地方是第二章的个人技术和流程以及软件工程师的成长,改变了我长期以来对我这个专业发展方向的很多困惑和误解,我一直觉得我作为一个程序员只要学如何写代码,顶多把数据结构和算法掌握清楚、操作系统和计算机网络的知识学习扎实,会写前端会折腾数据库就可以了,其他的能不了解就不用了解。我对于职业规划还一直还停留在学好算法计算机基础就可以进大公司的非常低级的想法层面上,读了这本书之后我才明白自己其实离一个优秀的程序员还差得很远,虽然我一直在努力为实现进入大公司成为优秀的软件工程师这一目标而努力,但是其实努力得还远远不够,而且光局限自己把代码写好是远远不够的,团队协作、小组敏捷开发、迭代会议、单元测试和代码复审这些部分都是我之前完全不了解的,而在我读完以后更有针对性和方法来实现自己的目标,开始关注踏实的学习和提升自己,并更加注意和身边的同学合作写代码并和自己身边的同学一起互相学习,这也提示我这样的初级软件工程师要如何让自己成长起来。

另外,我们这学期除了学习软件工程的理论外也在做一个团队项目,而我正是我们整个项目的Program Manager。这本书中所介绍的NACBD模型、分而治之方法、敏捷开发小组会议和燃尽图、结对编程这些方面的知识点和技巧我们都很好地应用到了自己的项目开发的整个过程之中去。我们每个人小组成员都利用NACBD模型在组内会议中分析了自己所想要用的一款软件,通过对比我们最终决定做一个桌面应用软件;我们通过分而治之的方法,利用WBS图拆分我们的需求,然后利用甘特图,结合每个组员的承诺工作时间把所要实现的所有功能具体化到每一天每一小时;我们在冲刺阶段采用了结对编程的方法,而且还实现了敏捷开发,并完成了至少2天一次的冲刺会议,每个人汇报自己的工作并展望第二天要做的事情,然后完善燃尽图;而且我们团队利用码云托管平台来管理代码,每个人做自己的模块,并保证一天至少merge一次所有人的分支,大大提升了团队协作的效率,每个人都完成了什么工作也是一目了然。可以说《构建之法》这本书对我们的团队的整个开发进展阶段都具有相当强的指导意义,也算是我们进行正式软件开发项目的一本入门引导手册了。

最后,《构建之法》的正文以及练习与讨论中有大量有价值的引用,这些内容可以让我们了解更多更广的知识,练习中大量的习题如果都能够独立思考并想办法解决的话,对我们的实际动手能力会有很大提升。

总之,这是一本值得反复阅读的技术书、一本可以教会我们怎样去做好一名合格软件工程师的书、一本无论是对在校学生还是一线软件工程师都会受益的书、一本很适合阅读并且反复阅读的书。很感谢

原文地址:https://www.cnblogs.com/utube/p/14955085.html