我的软件构造做题笔记(21年期末试题选择部分)

本文探讨了软件的内外部质量属性,包括正确性、健壮性、可拓展性等,并涉及Git操作、异常处理、Java语法特性、多态性、代码规约和设计模式。同时,讲解了在开发过程中的最佳实践,如注解使用、重写规则和错误避免策略。
摘要由CSDN通过智能技术生成

21年第1题

显然是D

外部质量属性包括:Correctness正确性、Robustness健壮性、Extendibility可拓展性、Reusability可复用性、Compatibility兼容性、Efficiency效率、Portability (可移植性)、Ease of use (易用性)、Functionality功能性、Timeliness (及时性)

内部质量属性包括:Source code related factors such as Lines of Code (LOC), Cyclomatic Complexity, etc 、 Architecture-related factors such as coupling, cohesion, etc。源代码相关因素,如代码行(LOC),环形复杂性等,架构相关因素,如耦合,内聚等。Readability可读性 ▪ Understandability 易于理解▪ Clearness清楚 ▪ Size大小
 

21年第2题

抛出异常一定是运行阶段,一个时期,代码级,我选择C项

 21年第3.题 

git commit是提交暂存区的文件(git add后的),我选择B项

  21年第4.题

很显然C项正确

21年第5题

 

有争议的B项隐藏了一个错误 

 在for遍历过程中不能remove,否则会扰乱迭代器。

A,C显然错误

D项正确,运行通过

21年第6题

a是new的String(a) 地址不同,但list是观察等价,返回true,b String不可变,改变地址空间不影响list,c 两个sb指向不同,string builder是行为等价,D a已经指向intger了

21年第7题

overload是特殊多态,泛型是参数化多态,参数列表不同不一定数量不同,可能类型不同,传入参数遵循逆变,返回值协变是说override,D正确

21年8题

要记住圈越小规约越强,我选择D项

 21年第9题

B是对的,@override相当于注释

21年第10题

C最恰当,其他错误很明显

a也需要重写,b不等价hashcode不一定不相等, d不一定需要考虑所有的,比如说上课时举的例子等价只与last name有关hashcode就不需要考虑first name

 21年第11题

 c不一定,可以是Dependency 

 21年第12题

选b

21年13题

A项说的是strategy模式

21年14题

c项可以throws xx的父类

21年15题

b项是要抛出filenotfound异常的 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值