Most developers know enough about refactoring to write code that’s pretty good. They create short methods, and classes with one responsibility. They’re also familiar with a good handful of refactorings, and the code smells that motivate them. Read more
Have you ever wondered if there was a better way to learn refactoring? Martin Fowler’s Refactoring book was a great introductory book on how to clean up legacy code bases, but over the years, what I have found missing in that book is one a set of guidelines that links all the different types of refactoring techniques together into one continuous process. Read more
This presentation provides a glimpse on the advances that have been booked by the software engineering research community for analyzing code smells and discuss some empirical results from studies on refactoring strategies. Our aim is to give developers and architects useful insights for prioritizing refactoring tasks and suggest different ways of combining source code analysis and human evaluation for supporting software evolution in their daily work. Read more
PyChart is a very nice program for producing print quality graphs. This video explains how PyChart package was refactored in order to make a nice and clean API. This talk is focused on teaching refactoring methodology to beginner and intermediate level programmers. Read more
Wrangler is an interactive refactoring tool for Erlang. This video shows how to perform the basic refactoring activity: how to rename functions, variables and modules and also how to more functions from one module to another.
Metric_fu makes it easy to generate reports that measure code quality. Once you’ve created the reports, what do you do next? You know your code could be better. Now what? As lead developer of metric_fu, Jake Scruggs is in a great position to make recommendations about the best ways to leverage the tool.
Video Producer: Chicago Ruby
Your application is slowing down and you can’t seem to speed it up. The code is a mess, and changes are taking longer and longer. You’re afraid to release new features for fear of introducing bugs throughout the system. The marketing and sales teams are frustrated by how long new features are taking to release. All signs seem to point to the dreaded Big Rewrite. Big Rewrites are dangerous projects. The decision to rewrite shouldn’t be taken lightly. In this session, we will walk through the pros and cons of Rewrites and give real world examples of Rewrite strategies that work and that fail. From the first hint of a need for a rewrite, through the migration and deployment of the reincarnated system, we’ll share our victories, sorrows, joy, and pain. By the end of the session we hope you’ll have a better idea of how to approach The Big Rewrite the next time it rears its never-welcomed head and have a framework which increases your likelihood of success.
Badly written tests are a nightmare of many agile projects. Hard to understand and maintain test suite sometimes act as a brake on introducing changes. This presentations discuss basic techniques of refactoring test code. During live coding session you will see how to simplify non-readable tests in few simple test and, among other things, various ways of creating test data, expressing assertions and avoiding duplication in tests.
This video removes the duplication in the add and subtract classes by introducing an abstract base class. The end result is a use of the template method pattern.
Video Producer: Brett L. Schuchert
In this episode we are going to take a look at another refactoring technique, the Extract Interface technique. This technique allows you to extract an interface from a class in order to break your concrete dependencies. By doing this you can provide yourself with better testing support as well as a better layer of abstractions.keep looking »