Extract Method for Scala
I haven’t blogged in quite a while now. Actually, the last entry was to announce my term project on Scala Refactoring. My excuse is, I was hard at work! So without further ado:
class Demo1 { def demo1(i: Int): Int = { val a = i val b = a + i b } }
Select the line with the assignment to b, murmur the incantation press some keys, et voilà:
class Demo1 { def newMethod(i: Int, a: Int): Int = { val b = a + i b } def demo1(i: Int): Int = { val a = i val b = newMethod(i, a) b } }
It also works with multiple return values and when passing functions. Now, the code isn’t ready yet, and I have to concentrate on writing my report right now, so it might take a couple more weeks until I can ship something.