第二次作业

|这个作业属于哪个课程 |https://edu.cnblogs.com/campus/zjlg/rjjc20/ |
| ---- | ---- | ---- |
|这个作业的目标 |<读课本提出的三个问题> |
|姓名-学号 |<王浙宇><2018330301199> |

问题一:

我看了这样一段文字:“软件工程的目标——创造‘足够好’的软件”(《构建之法》P15)。有这个问题,什么样的软件足够好呢,没有bug就足够好了吗,什么是bug呢 ?我通过查阅资料,bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。一个软件不可能是完美的,总会存在一些小小的漏洞,也会因为没法满足一部分人的需要存在缺陷,作为设计者能做的,就是从软件的开发效率、用户满意度、可靠性、和可维护性等方面尽量满足大多数用户的需求。

问题二:

我看了这样一段文字:“单元测试必须由最熟悉代码的人(程序的作者)来写。代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更合适的人选了。”(《构建之法》P25)。有这个问题,为什么单元测试一定要作者本人来写呢?我认为既然本身就是一个团队,这个分工也并不一定要由作者本人来写,作者对它固然熟悉,但当局者迷旁观者清,作者可能存在自己写这段程序的固有思想,往往会忽视一些问题,只要对程序足够熟悉,其他人也适合写单元测试。

问题三:

我看了这样一段文字:“关于初级软件工程师的成长,积累软件开发相关的知识,提升技术技能。例如:对Java、C/C++、C#的掌握。”(《构建之法》P45)。有这个问题,对于初级软件工程师的学习而言,是先学习多几种编程语言好呢还是把一种语言学得更深入些好?通过查阅一些资料,个人认为应当先选择一种语言进行深入的学习,这种语言学精了,再去学习别的语言会更加轻松,因为编程语言都有一定的相似性,在思维上也有不少相像之处,而对一个编程刚刚如门的人来说,同时学习多种语言会存在记忆上的困难。所以我认为对于初学者而言,应该先选择一种语言,适当深入,再去学习别的语言。

posted @ 2020-11-03 15:14  零~~  阅读(69)  评论(0编辑  收藏  举报