Premise
Duplication and complexity—who needs those headaches?
Refactoring lets you systematically improve your code without changing
what it does. Code that merely works will mature into sparkling,
easy-to-understand code that you can be proud of.
Refactoring requires you to develop two things:
- A nose for “smells” (potential problems)
- Facility in making safe transformations
The heart of this class will be hands-on work, in pairs, on code in need of
improvement. Just for fun, we’ll throw in a little competition and a door prize
or two.
You will get...
- Practice identifying smells
- Practice in working with a partner to think about code
- Hands-on practice addressing problems by refactoring
Format
- Half day.
- Mix of lecture, exercises, and discussion.
Background Reading
Refactoring: Improving the Design of Existing Code, by Martin Fowler et
al.
Refactoring Workbook,
by William C. Wake. Addison-Wesley, 2003.
|
Audience
- Beginning to intermediate refactorers
- Java programmers (though we won’t use J2EE or anything too fancy)
Bring a laptop if you can, with Java, an IDE (of any kind), and JUnit
installed and working. If you don’t have a laptop, that’s OK—we’ll pair you with
someone who does. Either way, please contact
William.Wake@acm.org and let him know
what you’ll be doing.
Offerings
Offered at XP/Agile Universe '03.
Facilitator
William Wake (William.Wake@acm.org,
www.xp123.com) is an independent consultant interested in agile methods,
patterns, and human-computer interaction. He is the author of
Extreme Programming Explored and the
Refactoring Workbook.
Also of Interest
Extreme Programming
Explored - A two- or five-day introduction to XP.
Consulting services
|