软件技术基础-第二次作业

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zjlg/rjjc20/homework/11425 |
| ---- | ---- | ---- |
| 这个作业的目标 | <阅读思考并提出问题> | |
| 姓名-学号 | <金炀盈>-<2018330301108> | |

软件技术基础-第二次作业
问题一:为什么在单元测试过后,机器状态保持不变

单元测试后,机器状态保持不变。
————《构建之法 P26》

在书本的第二章中,作者针对“好的单元测试的标准”提出了自己的几点看法,但我对于其中的“单元测试后,机器状态保持不变”所举出的例子有所疑惑,因为我认为并不是所有的单元测试只是进行简单的运算,总会有一些单元测试的结果就是要产生新的文件或者新的记录,所以在单元测试过后,我们不能够保证机器状态是保持不变的,我们只能保证在进行新一轮的单元测试前,我们应当让机器状态保持在最初。

问题二:为什么单元测试要产生可重复、一致的结果

单元测试后应该产生可重复、一致的结果。
————《构建之法 P26》

在书本的第二章中,作者针对“好的单元测试的标准”提出了自己的几点看法,但我对于其中的“单元测试应该产生可重复、一致的结果”有所疑惑,作者在这点下面有一个问答,对用随机数以增加测试的真实性提出了质疑,但我认为这与他在书本第二十七页的“100%的代码覆盖率并不等同于100%的正确性”的观点矛盾了。如果单元测试不能用随机数进行检测,那我们又怎么覆盖所测单元的所有代码路径呢?

问题三:为什么过早优化是软件工程师的思维误区

过早优化:既然软件是“软”的,那它就有很大的可塑性,可以不断改进。放眼望去,一个复杂的软件似乎很多模块都可以变得更好。一个工程师在写程序的时候,经常容易在某一个局部问题上陷进去,花大量时间对其进行优化,无视这个模块对全局的重要性,甚至还不知道这个“全局”是怎么样的。这个毛病早就被归纳为“过早的优化是一切罪恶的根源”。
————《构建之法 P49》

对于作者的“过早的优化是一切罪恶的根源”我是不赞同的,我认为提前优化反倒是好的,因为你提前考虑到了这些问题,会让你之后的工作避免了很多的烦恼,而对于作者在这个观点下面提出来的“雨伞”的故事,我认为,他之所以单身并不是因为他过早的优化了,而是他根本就没有把问题考虑全面,他根本就没有做到优化。

posted @ 2020-11-03 11:44  发光的你  阅读(97)  评论(1编辑  收藏  举报