1
我有,我想这样做的函数:这是怎么试着最终阻止工作?
def someThing():Int = {
val thingy:Thing = new Thing()
try{
thingy.getIntThingy()
}finally{
thingy.cleanUp()
}
}
getIntThingy()返回一个int。 thingy中有临时表,这些临时表是在初始化时创建的,需要清理(副作用)。此代码是否可以工作,还是应该重构?
你的代码是不清楚。您不会返回'thingy',因此GC在离开方法后将其删除=>不需要清理。 – sschaef 2012-02-04 22:13:09
对我来说没问题。它是否必须处于试验阶段?如果没有,您可以将返回值存储在局部变量中,然后在最后一行返回Int之前进行清理。 – 2012-02-04 23:16:25
是什么让你认为你想让它做什么这个代码不呢?你有任何测试?如果你这样做,哪个测试失败?如果你没有测试,你不能重构(根据定义,在没有测试的情况下修改代码不是重构)。 – 2012-02-04 23:56:53