软件基础第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc20
这个作业的目标 <学会独立思考,能够提出问题和独立思考问题并解决问题>
姓名-学号 <沈龙灵>-<2018330301090>
软件基础第二次作业
=========
第一个问题

关于结对编程的众多优点我不是很赞成,书上说结对编程中程序的错误会少得多,程序的初始质量会高很多,并且两人合作解决问题的能力更强,还有相互激励的作用。然而我觉得结对编程会产生很大的分歧,不论是个人习惯还是个人能力都完全是天差地别,不但不能提高效率反而会产生“拖后腿”的现象,一个人很强另一个稍微差一点,这样就让本来很强的那个人虚弱了自己的优势,本来独立可以完成的很好但是由于两个人的能力和风格让产品达不到那一个人的水平,这样就本末倒置了。所以我认为结对编程也得好好评估俩个人的实力和风格,这样才能发挥结对编程的优势,而不是只要拿两个人一起干就能产生好产品。

第二个问题

“作为一个成熟的团队成员必须理性地工作,不能被情感驱动”
--引用自p51《构建之法》

  • 我个人认为情感驱动是必不可少的,一位没有灵感和激情的团队成员是无法设计出一个好的软件。在书中第110页,作者讲到第一版iPhone和iPad都是MBP。如果当时的团队人员在设计iPhone和iPad时并没有灵感和激情,而是非常理性的按照一次又一次的模板进行设计,iPhone和iPad也不会成为MBP。由此可见,感情驱动对于软件工程师也十分重要。

第三个问题

“进行软件工程作业设计的过程中遵循OCP的代价是贵重的”
--引用自p38《构建之法》

  • 2.4节第38页中提出,开放—封闭原则是软件设计中一个重要的原则,并且说遵循OCP原则的代价很昂贵。根据书中的介绍可以知道,OCP原则具有允许扩展、不允许修改两个特点。我的理解是在想要进行软件扩展时,不能改动已有代码只能通过增加代码的方式进行。而要保证不改动代码,在设计这个软件时则需要花费更多的时间用于设计。并且,OCP原则如果想要在不改变代码基础上进行修改就需要用到抽象,而抽象也加大了程序运行时间,但我不知道我这样的理解是否正确,所以我感到很困惑。
posted @ 2020-11-03 18:12  zzing0  阅读(75)  评论(0)    收藏  举报