软件基础第二次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zjlg/rjjc20 |
|---|---|
| 这个作业的目标 | <阅读《构建之法》并提出三个问题> |
| 姓名-学号 | <王彬鹏>-<2018330301161> |
问题一
从开发者的角度看,如果用户期望添加不属于自己的软件的原有的功能,是否为Bug?以及从用户角度看,软件最近出的对自己没有任何用处的功能,是否属于Bug?

原文:
什么是Bug呢?简单地说,软件的行为和用户的期望值不一样,就叫Bug。是否是Bug,取决于用户、开发者的不同的角度。————摘自《构建之法》 p16
观点:
在我看来,Bug应该属于不好的范畴。可是,从开发者的角度看,自己的产品被期望添加一些功能,但是自己的软件本身又没打算添加该功能,团队本来就没打算像这些方面发展,这对开发者来说,并不算不好的一面。
再者,从用户的角度看,自己的软件,最近多加了一些自己用不到的功能,但是也不影响自己使用需要的功能,这件事也没有对用户造成不好的影响,所以这两者到底算不算Bug?
问题二
单元测试是否只能由本人编写?
原文:
代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更合适的人选了。————摘自《构建之法》 p25
观点:
由本人完成的程序当然只有本人最熟悉,所以代码作者确实最了解代码的目的和特点,但是对于代码的局限性这一点,我认为代码作者不一定能够清晰准确的认识到。正是因为代码的作者有了这份代码完整的编写逻辑,这很可能会成为一种固化的思维,影响到编写者在设计单元测试时的想法,也缺少在一些小问题处的注意。在这一点上,我认为其他的了解代码目的特点的人可能会更具有发散的思维,不受编写逻辑的影响,设计出更完备更全面的单元测试。
问题三
团队建立初期,如何准确的找到自己团队的运行模式?团队模式下,成员之间难免有矛盾,又如何解决?

原文:
软件团队有各种形式,适用于不同的人员和需求。基于直觉形成的团队模式未必是最合适的。————摘自《构建之法》 p97
观点:
书本为我们列举了十种经典的团队模式,我们可以咋爱这些模式中借鉴,学习到团队模式框架。但是在团队开发中,每个人的性格也不尽相同,有人喜欢把事情尽早做完,但也有人喜欢把事情放在后面,拖到最后,出现两极分化,这样就会产生冲突、工作进展缓慢、合作不愉快等,我任然对这些问题束手无措,那如何协调和解决这件事情,从而来保证团队的高度团结和团队开发的效率这些问题。
浙公网安备 33010602011771号