Game based tool helps students learn code refactoring effectively
Leveraging Game-Based Platform to Teach Code Refactoring: An Experience with Refactoria
Software Engineering
Summary
Improving how code is written without changing what it does is called refactoring. Learning to spot and fix problems in code can be hard and sometimes boring. The authors tested Refactoria, a game where players help a character fix coding instructions, making the learning more fun and engaging. They found students felt the game helped them understand refactoring better and made learning more interesting.
What this means in practice
- •For software development trainers: Use Refactoria to engage learners in practicing code improvement through game scenarios designed to teach refactoring concepts.
- •For corporate software teams: Incorporate game based training tools to motivate developers to adopt refactoring practices and improve code quality.
Authors
Eman Abdullah AlOmar, Christopher Engelbart, Stephen Pachucki, Nerissa Lundquist, David Van Hist
Abstract
Refactoring is the art of improving the internal structure of the code without altering its external behavior. Because of the topic's significance, several teaching methods and strategies have been proposed in the literature. However, skills in identifying and refac- toring code smells come from training and experience, and a lack of motivation may hinder developers' adoption of refactoring tools. In this paper, we discuss the results of an experiment in the classroom that involved performing various refactoring activities to remove antipatterns using Refactoria, an innovative game-based tool that supports the acquisition of code smell and refactoring concepts. The players play as an expert chef with their sidekick Watson the Whiskbot to refactor Watson's instructions into efficient, readable, and easily maintainable code. We present an experiment with 30 student developers. In particular, we study the perception, effectiveness, and usefulness of gamification for engaging developers in code smell identification and refactoring. Our evaluation indicates a high perceived usefulness among students, and participants reported that Refactoria facilitated their understanding of the refactoring concepts.