Tag Archives: Refactoring
Quickfix to Expand Case-Class Bindings in Pattern Matching
When writing Scala code that involves pattern matching I often work with (nested) case classes and sequences of case classes. I usually start with a simple binding like this and then when I need to access members of the matched class convert it to use the extractor: What’s tedious about that step is that one […]
Move Class, Object and Trait Refactoring for Scala
After lots of bug fixing and improvements of existing refactorings in the Scala IDE, I took a few days off between Christmas and New Year to finally implement a completely new refactoring: Move Class. Move Class (see Fowler’s description if you’re unfamiliar with it) moves a top-level Class, Object or Trait definition into a different […]
Organizing Imports in Scala
Organize Imports was a very often requested feature for the Scala IDE for Eclipse, so I wrote the first very limited version as part of my thesis. It couldn’t do much more than sorting the imports and collapsing them from multiple import statements to a single one. At the beginning of this year, Daniel Ratiu […]
Eliminating Pattern Matching
In the last few years, I worked on several Java projects where we transformed and analyzed abstract syntax trees, so when I started learning Scala, pattern-matching quickly became one of my favorite language features. I could never warm up to the visitor pattern, so I was thankful that Scala offered a much more powerful alternative. […]
Scala Refactoring Thesis Finished
I’m done! A few minutes ago, I handed in my thesis on Scala Refactoring. The project also has a new home at scala-refactoring.org, where you can find more about the refactorings I implemented, how they can be used, etc. I also recommend reading my report, but if you just want an overview, take a look […]
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: Select the line with the assignment to b, murmur the incantation press some keys, et voilĂ : It also works with multiple return […]
Scala Refactoring Term Project
If you’re a Java programmer and haven’t yet heard of Scala, take a look at this nice Scala Tutorial. What follows is my project proposal for my master term project (12 ECTS, ~360 hours of work, the same as a bachelor thesis actually). The project starts next week and will keep my busy for the […]
Hello again!
Welcome to my new blog! After almost 4 years of blogging at blog.misto.ch, I needed a change. The posting frequency constantly dropped and I’ve picked up twitter to post shorter messages, and most of the serious work I did ended up on InfoQ. So, why even bother blogging anymore? Well, I’ll soon start my masters […]