139
社区成员
这个作业属于哪个课程 | 2022福大-软件工程、实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 熟悉markdown语法和git的使用,阅读《构建之法》,撰写博客(回首过去、立足当下、展望未来、思维导图和学习路线)为下学期软工实践,为今后的学习、工作做好准备 |
其他参考文献 | 《构建之法》(邹欣、第三版) |
https://gitcode.net/m0_49128859/081900317
当初高考结束时,想以后从事计算机相关行业,硬件、软件都可以,因为被调剂,一个都没上.后来转专业就选择软件工程。觉得通过学习编程知识,可以把自己的想法实现,是一件很有趣的事情。我觉得软件工程其实和土木工程类似,一个项目,由不同的人合作共同完成,只是两个行业不同,一个是实现软件,一个是建造设施。
还没有上这个专业以前,觉得通过自己编写代码,可以实现一些很酷的软件,网站。当然在这之前也听过很多前辈的经历,不论是工作还是创业,都是日渐秃头的过程。但是我依然觉得这个专业应该没有大家口中的那么可怕,写代码可以写秃头,后来觉得事实可能就是这样。
高考结束后,接触了一些编程知识,希望先重基础学起,通用的语言,计算机基础知识,算法与数据结构。学习算法导论,提高自己编码水平,成为算法大佬。学习前沿技术,实现自己的想法。
Q:1.2.2 大陆高校中的计算机专业与软件专业是否并不像书中说的那样雷同?
A:在我看来在计算机专业与软件专业确实有雷同之处,也有不同之处。其实在本科计算机专业与软件专业的学习课程基本相同,计算机专业涉及面可能更广,但是深度我觉得与软件专业是相同的,计算机专业并不意味着涉及更多的理论,而是与软件工程专业一样。计算机专业的毕业生大部分是投身于解决工程问题,虽然计算机偏理论,但是毕业生由于就业前景好,对科研没有兴趣,也不会投身解决理论问题,而更多投身解决工程问题。
原问题链接
Q:1.2.4 软件的行为和用户的期望值不一样,就一定是 Bug 吗?
A:是否是bug取决于用户、开发者的不同角度。但是软件的行为就是为了满足用户需求,如果软件只是开发人员在预计的时间内发布的“足够好”的软件,不能满足用户期望值,就是存在Bug。因此,软件的行为和用户的期望值不一样,就是存在Bug。
原问题链接
Q:2.1 单元测试由最熟悉代码的人来写是否足够呢?
A:足够,最熟悉代码的人了解代码的目的、特点和实现的局限性,让熟悉代码的人来写单元测试是足够的,这样单元测试就能体现API的语义,如果让不熟悉代码的人来代劳,语义的准确性不能得到保障,会产生歧义。
原问题链接
Q:2.1 如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?
A:对于经验不足的新手,提高单元测试的覆盖率,应该从一下几个层次入手,函数的覆盖,语句的覆盖,分支的覆盖,条件的覆盖,分支覆盖是强有力的测试依据,必须测试公开的和私有的函数/方法,提高覆盖率。
原问题链接
Q:2.1 单元测试中作者自己测试最好吗,单元测试使用随机数真的没有意义吗?
A:单元测试由作者自己测试最好,代码的作者最了解代码的目的、特点和实现的局限性。单元测试应该产生可重复、一致的结果,如果某个随机数导致程序出错,但是下一次运行又不能重复这一个错误,则于事无补,所以单元测试使用随机数没有意义。
原问题链接