软工网络15个人阅读作业2——提问题

提出问题

快速通读教材《构建之法》,并参照提问模板,提出5个问题。

问题一:

  绝大部分软件是由多人合作完成的,大家的工作相互有依赖关系。最典型的例子就是,某人负责的模块的功能被其他人调用。软件的很多错误来源于程序员对模块功能的误解、疏忽或不了解模块的变化。如何能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方案。

 看完之后感觉很笼统,很模糊,然后就去维基百科跟知乎搜了

Wikipedia: Unit testing:在计算机编程中单元测试是一种软件测试方法,通过该方法,对单个源代码单元,一套或多套计算机程序模块以及相关的控制数据,使用过程和操作过程进行测试,以确定它们是否适合使用

 

程序主要是由一个个的 Class 组成的,一个类或一个对象当然也是一个单元,而比类更小的单元是类的方法(函式)。如果你的类中的基本单元——如某些方法不能正常工作,在某些输入条件下会得出错误的执行结果,那么如何保证你的类/对象乃至整个应用软件或系统作为一个整体能正常工作呢?所以,简单说,单元测试(优先)的目的就是首先保证一个系统的基本组成单元、模块(如对象以及对象中的方法)能正常工作,这是一种分而治之中的 bottom-up 思想


作者:张恂老师
链接:https://www.zhihu.com/question/28729261/answer/96346235
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

问题二:

 两个人在一起合作,自然会出现不同的意见,每个人都有自己的想法,在两个人平等合作的情况下,不存在领导与被领导的关系,如何说服对方?

 书中给了“断言”、“桥梁”、“说服”、“吸引”四种方法

 我认为这个前提很难成立。每个人学习都是有差异的,性格也是,会有学习相对好一点的,相对弱一点的,学习好一点的有比较固执的话,我觉得这四种方法都不能使用,我觉得在说服无效的情况下,可以自己也先一边做着,如果另一个人出问题的话,也不会影响进度,或者也可以想办法完善另一个人的。

问题三:

   MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中基于里程碑的规划优势与螺旋模型中的增量迭代的长处结合了起来

    瀑布模型使用里程碑作为整个过程管理中的转换或评估点。在瀑布模型中,每一个任务在下一个任务开始前,必须完成。也就是说必须将当前阶段的任务完成后,才可以进行下一阶段的任务。螺旋模型的焦点集中在需要对项目需求进行持续不断的精练和对项目连续不断的评估上。螺旋模型是一种非常简单的过程模型,它没有所谓的里程碑,它就是对软件按周期不断地重复构建。瀑布模型中由于有基于里程碑的计划,因此它有可以预测项目的未来优点;而螺旋模型则有快速反馈和有创造力的优点。MSF过程模型继承了它们的优点。

问题四:

  迷思之五:要成为领域的专家,才能创新

我认为创新的精神与能力无关,新入行的人员,基于对工作的幻想,结合现实,反而产生创新的灵光。领域的专家反而由于思维固化创新能力并不一定强。

问题五:

  迷思之四:创新者都是一马当先:其实大部分成功的创新者都不是先行者。

  迷思之七:成功的团队更能创新

 我觉得成功的团队运维,生态方面会更好,但创新能力我觉得好多初出茅庐,不为人知的小团队更厉害。这样的团队会有更多刚毕业的带着一腔热血的年轻人,他们的创新能力更强,但做出来的东西会有好多小问题,然后成功的团队会借鉴,他们团队会有很多能力更高的人,进行优化,然后利用他们的用户群跟宣传还有好的生态圈去将它发扬光大。

 

posted @ 2018-03-18 19:28  Abe1  阅读(208)  评论(1编辑  收藏  举报