HIT 软件构造2019春 Lab5 问题解决

 

Update 5/26/2019

  • CheckStyle in IDEA
  • OQL in MAT
  • Optimization for IO
  • Design Pattern

 

CheckStyle in IDEA

 

使用以下操作解决缩进与包名导入问题。

 

打开IDEA的自动导包功能:

修改项目中Tab和缩进设置

修改项目中注释代码的缩进设置:

修改项目设置

取消使用*自动导入包

按照包名的字典序导入包

最后右击项目src,Format Code。

 

OQL In MAT

 

MAT OQL Syntax Link:https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Freference%2Foqlsyntax.html

 

1)TrackCircularOrbit类的实例

2)特定长度n的字符串对象‘

3)大于特定大小的任意对象实例

4)PhysicalObject的所有子类数目以及占用内存

5)Collections实例-所有数目大于等于100的

如图:

因为本实验中大多数使用ArrayList,所以只检查满足条件的ArrayList。

 

Optimization for IO

1)将所有使用List遍历方式的检查换成HashMap

2)添加控制开关INPUTCHECKON,默认为true,如果false则对于输入文件不做额外的检查。

 

Design Pattern

1)使用FlyWeight设计模式设计Electron工厂,基本思想就是对于每一个轨道只有一个Electron实例。因为以前的程序是依据引用(内存地址)判断相同的,在添加物体时的普遍规则是如果轨道系统中有相同的对象则报错,此处需要在子类中覆盖该方法,不进行对象相同检查。

2)对于Track类,程序中采用值相等(轨道半径相等)的方法判断对象相同,因此可以使用FlyWeight设计模式进行优化。对于一个轨道半径的轨道只建立一个实例。

3)使用ObjectPool思想修改CommonObject的初始化,在初始化中,因为不考虑绝对位置,所以每次将位置初始化为Position(0,0),在这里选择创建一项存储在ObjectPool中。

4)使用 ”” 而不是用new String方法声明字符串变量

 

 

                                                   我是迷人的小尾巴


以下外链,利益相关,欢迎浏览ε≡٩(๑>₃<)۶ :

济南江鹏工贸有限公司山东济南机械加工),济南彤昌机械科技有限公司山东济南机械加工

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值