BUAA_OO
第四单元第一次作业主要是新建了了MyClass
、MyInterface
、MyOperation
,并且考虑到MyClass
和MyInterface
有一些共同的属性,故新建了MyElement
接口
第四单元的第一次作业一开始的时候还不知道该如何下手,反复看指导书并询问同学后才搞明白要干些什么。。。
这次只涉及到类图的查询,MyClass
里包括类的各种属性、操作以及它的子类、父类、实现的接口,MyInterface
中包括接口的属性、操作以及子接口、父接口、实现的类,MyOperation
里包括参数以及referenceType
相关的一些内容
课下测试中在判断两个ArrayList
相等是老出错,其实这个问题我在第一单元就遇到过,但是时间太久远了,忘了怎么判断了,所以花了很长时间,在这里我分享一个泛型的比较方法
public <T extends Comparable<T>> boolean isEquals(List<T> list1, List<T> list2) { if (list1 == null && list2 == null) { return true; } //Only one of them is null else if (list1 == null || list2 == null) { return false; } else if (list1.size() != list2.size()) { return false; } //copying to avoid rearranging original lists ArrayList<T> list3 = new ArrayList<>(list1); ArrayList<T> list4 = new ArrayList<>(list2); Collections.sort(list3); Collections.sort(list4); return list3.equals(list4); }
checkstyle
。。。bug
出现的原因主要还是关键状态的判断,花了一段时间去理解UML
图是否符合规范bug
主要在于R009
的理解上,我居然是当两个Transition
的所有的event
的name
都相同时才进行判断是否合法,应该是当两个Transition
有一个event
相同时就进行判断bug
难以发现pre
时,对于OOP
有了进一步的理解look
策略不理解,所以导致了很多的bug
,十分惨重JML
规格化设计JML
实现即可,需要主义的就是性能方面的问题UML
UML
中的元素进行解析,并且支持所要求的指令查询checkstyle
bug
bug
JML
阅读不仔细的bug
Junit
进行覆盖性测试bug
java
语法,流水线架构、生产者-消费者模型、主从架构等多线程架构以及一些单例模式、工程模式等,以及对于日后的工作很有帮助pre
中适当引进一下多线程的知识