For the best quality, click on the zoom button in the right corner.
Playback buffering? Try the lower quality version. You can also download the mp4 version.
Automatic refactorings for Scala programs
Ilya Sergey, Dave Clarke, Alexander Podkhalyuzin
Scala is a programming language that combines the object-oriented and functional programming paradigms. Dependent types, higher-order functions and implicit conversions bring new ideas and challenges when implementing code refactoring. In this paper, we give an overview of the automatic refactorings for Scala programs offered by the IntelliJ IDEA programming environment. We consider the main differences between well-known automatic refactorings implemented for Scala with their Java analogues, and give short descriptions of the underlying pitfalls and techniques. Finally, we provide a short survey of refactorings that are not implemented yet but might be useful for practical software development in Scala.