Danijel Arsenovski's Refactoring Dojo
Event Info
Description
Practice and learn the art of refactoring with a group of fellow coders and take your turn on the keyboard under the watchful eye of sensei!
Why Dojo?
The Refactoring Dojo is hands-on right from the outset and promotes “learning by doing”. Dojo provides a rich group learning experience where participants get to share and discuss different approaches and solutions. It is a focused, challenging form of “deliberate practice” for software developers. And finally, compared to a traditional method of delivering courses and workshops, it is 100% guaranteed more fun!
What is Refactoring?
Refactoring is a technique used to restructure the existing code without changing its external behavior, in order to improve a code structure and design, making the code more maintainable, easier to understand, as well as to modify and add new features. It is an essential tool for controlling the Technical Debt and a fundamental part of the Test-Code-Refactor TDD Cycle.
LEARN HOW TO:
-Diagnose a problematic code and identify “code smells”
-Apply refactoring transformations to eliminate code smells and improve a design
-Work with legacy code
-Introduce automated and unit tests to the existing (legacy) code
-Refactor towards a higher-order design based on design patterns and a Domain Driven Design paradigm
-Use refactoring tools in order to automate code transformations
-Some of the smells: Duplicated Code, Long Method, Magic Literals, Comments as Code smell, Data Class and many more
-Some of refactorings: Rename, Extract Method, Move Method, Extract Super, Extract Interface, Replace Temp with Query, Eliminate Dead Code, Organize Imports, Convert Procedural to OO design and many more.
Expert: Danijel Arsenovski
Danijel Arsenovski is an author, software craftsman, and agile coach. He is the author of books on Refactoring for Wrox. He has pioneered refactoring on the .NET platform. Arsenovski is a contributing author for Visual Studio Magazine, .NET Developers Journal, Visual Systems Journal and InfoQ.