设为首页 加入收藏

TOP

作业小结2(二)
2019-09-17 18:31:29 】 浏览:80
Tags:作业 小结
t()
1.0 1.0 1.0
top.buaaoo.gitlab.PendingRequestList.PendingRequestList() 1.0 1.0 1.0
top.buaaoo.gitlab.PendingRequestList.removeRequest(Request) 1.0 1.0 13.0
top.buaaoo.gitlab.ProcessedRequestList.addRequest(Request,Direction,int) 14.0 8.0 20.0
top.buaaoo.gitlab.ProcessedRequestList.getFirst() 1.0 1.0 1.0
top.buaaoo.gitlab.ProcessedRequestList.getMain() 1.0 1.0 1.0
top.buaaoo.gitlab.ProcessedRequestList.nextRequest() 4.0 5.0 5.0
top.buaaoo.gitlab.ProcessedRequestList.ProcessedRequestList() 1.0 1.0 1.0
top.buaaoo.gitlab.Request.getTime() 1.0 1.0 1.0
top.buaaoo.gitlab.Request.judgeSame(Request) 3.0 5.0 7.0
top.buaaoo.gitlab.Request.Request(long,String) 1.0 1.0 1.0
top.buaaoo.gitlab.Request.toString() 1.0 1.0 1.0
top.buaaoo.gitlab.Scheduler.deliverRequest() 7.0 14.0 17.0
top.buaaoo.gitlab.Scheduler.findPickedRequest(int,Request) 8.0 19.0 23.0
top.buaaoo.gitlab.Scheduler.findSameRequest(int,Request) 6.0 4.0 6.0
top.buaaoo.gitlab.Scheduler.getSeconds(long) 2.0 2.0 3.0
top.buaaoo.gitlab.Scheduler.main(String[]) 1.0 2.0 4.0
top.buaaoo.gitlab.Scheduler.outputSame(Request) 1.0 1.0 1.0
top.buaaoo.gitlab.Scheduler.print(String) 1.0 1.0 3.0
top.buaaoo.gitlab.Scheduler.run() 1.0 9.0 9.0
top.buaaoo.gitlab.Scheduler.Scheduler() 1.0 1.0 2.0
top.buaaoo.gitlab.Scheduler.start() 1.0 2.0 2.0
top.buaaoo.gitlab.Scheduler_ALS.output(Request) 1.0 2.0 2.0
top.buaaoo.gitlab.Scheduler_ALS.Scheduler_ALS() 1.0 1.0 1.0
top.buaaoo.gitlab.Scheduler_ALS.simulate(int,int) 1.0 1.0 1.0
top.buaaoo.gitlab.Scheduler_FOOL.output() 1.0 2.0 2.0
top.buaaoo.gitlab.Scheduler_FOOL.print_same(Request) 1.0 1.0 1.0
top.buaaoo.gitlab.Scheduler_FOOL.Scheduler_FOOL() 1.0 1.0 1.0
Total 103.0 150.0 208.0
Average 1.94 2.83 3.92
class OCavg WMC
top.buaaoo.gitlab.Direction   0.0
top.buaaoo.gitlab.Elevator 3.66 33.0
top.buaaoo.gitlab.Elevator.STATE   0.0
top.buaaoo.gitlab.ElevatorRequest 1.0 4.0
top.buaaoo.gitlab.FloorRequest 1.0 4.0
top.buaaoo.gitlab.Input 3.2 16.0
top.buaaoo.gitlab.PendingRequestList 3.83 23.0
top.buaaoo.gitlab.ProcessedRequestList 5.2 26.0
top.buaaoo.gitlab.Request 1.5 6.0
top.buaaoo.gitlab.Scheduler 4.5 45.0
top.buaaoo.gitlab.Scheduler_ALS 1.33 4.0
top.buaaoo.gitlab.Scheduler_FOOL 1.33 4.0
Total   165.0
Average 3.11 13.75

从以上表格可以看出,这次程序架构还算不错。各个类之间的依赖性已经到了很低的程度。只是这次及其个别的方法,复杂度还是相对较高,这一点还需要改进。尤其是Elevator.run()这个方法,里面放的东西确实有点多了,行数都有79行,应该多分一些逻辑出去的。

Bug分析

本次因为格式原因,被测到一个Error Bug,因为使用了自己写的链表数据结构,针对某种特殊情况(当输入一行,第一个有误时)未进行处理,导致了Crash。然后就没有其它Bug了,有点可惜。从此以后学会了try catch包住main里所有代码,以减少crash可能性。

测试策略

测试方法有两种。 第一种:以测试树为基准,按分支来测试对方程序,进行黑盒测试。 第二种:以程序逻辑为基准,读对方代码中的逻辑,寻找逻辑上的漏洞。

心得体会

这一次多线程电梯的调度系统,明显感觉有趣了很多,我个人对多线程的理解还是不错的,没有花太多时间就完成了这个作业,而且除了那个格式错误导致的bug就没有别的bug了。这次作业让我有机会亲手写一个多线程的程序,我觉得很有成就感。感谢课程组!

第六次作业 IFTTT

设计策略

用SafeFile来实现文件相关的线程安全类,用Trigger作为触发器的线程,包含了触发器的属性,以及监测方法。Trigger生成后,Trigger不断扫描被监测的那些文件夹和文件。另外作者对于文件夹的监测,相当于对文件夹下所有的子文件的监测(也包括其所有子目录的所有子文件)。因此,对于大小的监测也只是针对文件的。

程序结构

class Cycl
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java中队列 下一篇Salesforce的数据权限机制

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目