构建之法阅读笔记2

Posted aiyiliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建之法阅读笔记2相关的知识,希望对你有一定的参考价值。

《构建之法》这本书有哪些优点?又有哪些不足之处?

优点:1、语言生动有趣,采用情景式、对白式的方式对在软件工程相关的学习中重现场景,更好的解决了读者所遇到相类似的问题。

      2、注重实践。在大部分时候,大学的计算机专业,理论和实践是分离的,甚至只注重理论,讲一堆概念,定义,然而这本书与现实项目接轨,既讲了关于个人的项目能力,还谈到在团队中如何进行协作,也介绍了作为软件从业人员的一些准则。

      3、知识由浅到深,由理论转为实战,循序渐进。整本书从软件工程概论(第一章)开始,再到个人项目能力的培养(第二、三章),继而转为第三章到第六章的团队介绍和流程完善,再切入到生活中的实战项目部分,此为横向线;每一章内部由浅入深,步步挖掘,此为纵向线。

      4、覆盖面广。不仅只有软件工程的相关知识,还有IT的行业创新、项目经理、职业道德等。

   5、书中有大量学习的网站,以及还留有一些比较有趣的课后习题。

     6、该书比较适合初学者读,同时对于教师和助教,也有很大的益处。

缺点:1、个人认为这本书的知识框架显得有些凌乱,章节和章节之间的联系性并不是很强,使得知识框架并不是那么容易理清楚,这从以上的思维导图就可以看出。当然也有可能是我没有细读,从而没有分析出其中的联系吧。要是老师或者同学们有好的解释可以畅所欲言呀。

          2、有一些例子或者练习题并不是那么的恰到好处。比如63页关于选哪一种医生的讨论,我认为这个问题与软件项目联系在一起有些牵强。

讲完了《构建之法》的整体,接下来就从章节讲起。由于时间问题,我只细读了第一章到第四章还有第九章,前四章先介绍了软件工程的概念,然后介绍了软件工程师所需要的个能人力培养问题,以及两人如何合作,第九章则是介绍项目经理。在这五章之中,一些将列举一部分我遇到的问题:

软件工程是什么?

   在读第一章之前,个人对于软件工程的定义是“完成某款软件的设计的过程”,然而读完第一章以后才发现其中涉及的问题很多,并没有我想象中的那么简单。书中分别定义“软件”和“工程”,“软件=软件+软件工程”,工程定义“创造性地运用科学原理,实现和设计建筑、机器、装置或生产过程;或者是在实践中使用一个或多个上述实体;或者是实现这些实体的过程。”经查询资料,软件工程具体定义为“软件工程概念实际存在两层含义,从狭义概念看,软件工程着重体现在软件过程中所采用的工程方法和管理体系,例如,引入成本核算、质量管理和项目管理等,即将软件产品开发看作是一项工程项目所需要的系统工程学和管理学。从广义概念看,软件工程涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求工程、设计、编程、测试和维护的全部内容,即完成一个软件产品所必备的思想、理论、方法、技术和工具”。

单元测试是什么?有什么作用?

   第二章介绍的是PSP,2.1节直接就是单元测试,讲了很模糊的用法,以及如何怎么写单元测试,但偏偏读完这些依旧不知道单元测试是什么,这也算是一个缺点之一吧。经过百度之后,得出单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。单元测试的意义在于以测试为驱动的开发模式最大的好处就是确保一个程序模块的行为符合我们设计的测试用例。在将来修改的时候,可以极大程度地保证该模块行为仍然是正确的。

构建之法阅读笔记02

                                 构建之法阅读笔记02

                                                    ——代码规范

      《构建之法》这本书的第四章名为“两个合作”,真的像老师说的,这一章给我的感触很多,下一篇阅读笔记中我还会就这一章的问题发表我的浅谈。今天我想说的是有关“代码规范”的问题。

      不得不承认,邹欣老师在书中讲述的很多问题都是看似是个小问题,小到我们起初根本不会重视,但是随着编写的代码量的增大以及越来越接近软件工程师的工作任务时,我们会渐渐的发现某个问题我们必须要引起注意了!而代码规范就是这样一个问题。作为一个初学者我们经常会想我们能够完成某一个项目的编写已经可能是人群或者同学中的佼佼者了,管他代码写的格式是否好看。邹欣老师在书中第59页抛出了一个引人深思的问题:“程序员写的代码是给人看的,还是给机器看的?”答案就是“人也看,机器也看,但最终是人在看”。

      程序员编写的代码很少是用于自己后期阅读的,大部分或者基本上是给团队开发或者结对开发的伙伴看的,所以同组的同学就有必要在编写项目之前制定一个全票通过的代码规范办法。代码规范涉及到多方面的内容,虽然琐碎或者繁琐,但是确实必须要做的。书中所讲的包括:代码风格的规范、缩进、行宽、括号、断行、分行、命名规则、下划线、大小写、注释、错误处理、函数等等……

      上课的时候记得老师跟我们说那些上市的大公司中都是有一套规范自己员工的代码规范系统,除了GOOGLE公司对于代码的规范不做要求,老师说他们是防止代码规范浪费编写程序思路的时间……这个故事听起来有点难以置信,我们会想一个代码规范会浪费掉多少时间呢,不过又有几个人能懂在谷歌生存下来的大神的生活呢。反过来又说,我们既然也认为好好进行代码规范不会浪费太多的时间,我们为什么不“顺手”就注意一下呢,对吧?!说到这个我想起了一个优点讽刺的真实的故事,上学期我们学习编译原理课程的时候,有一些同学对于复杂的词法分析、语法分析等问题直接“妥协”“问度娘”,然后我记得老师验收作业的时候说到:“凡是你们代码上注释特别全的都是看的网上的,我都不用看……”这当然是老师的一句玩笑话,不过自从上了软件工程的课程引起了我的反思,老师们都会下意识的认为我们不会自己主动去写注释……唉……

      其实我想说,经过这几次的编程,其实尊重代码规范真的没有那么麻烦,真的只是“随手”就行了……我们在写之前肯定要整理自己的思路吧,然后捡重要的标注上面就可以了。代码规范真的很重要呢……什么提高团队效率、降低维护成本、减少BUG、利于代码复审等等,我想诸多的重要性没必要赘余了……最后,以后我一定会尽力注意代码规范的问题,养成一个好习惯!!

以上是关于构建之法阅读笔记2的主要内容,如果未能解决你的问题,请参考以下文章

构建之法阅读笔记04

构建之法阅读笔记01

构建之法阅读笔记03

《构建之法》阅读笔记

构建之法阅读笔记

构建之法阅读笔记06