Better Software Magazine Articles

Transform Your Software

Bring out the best in your code. Systematic code transformations are an important tool for test-driven development. Refactoring and generalization—common code transformations in TDD—improve the code while preserving its behavior and broaden the capabilities of the software. Each technique has its place, and together they help make TDD effective.

William Wake's picture William Wake
Clean and Green

All code is not created equal. Learn from a master of the craft how to spot bad code and mold it into good. Mike Clark explains how to clean up your code clutter by removing duplication.

Mike Clark
A Look at IntelliJ IDEA3

Get the scoop on this refactoring tool from JetBrains.

Andrew Geweke

Conference Presentations

Refactoring: What You Need to Do It Right

As certain as evolving requirements lead to code changes, code changes lead to code degradation. Therefore, code refactoring is critical to the long-term viability of all software products. Kevin Sawicki shares tips and tricks for refactoring to help developers identify code that needs refactoring, preserve the correct code history during refactoring sessions, and ensure that appropriate unit tests cover the refactored code. Kevin demonstrates the Eclipse open-source frameworks and Java-based tools, including EMMA for code coverage analysis and JUnit for unit testing. These tools not only make code refactoring less painful, they also empower developers to constantly improve their code through relentless refactoring. Kevin outlines a step-by-step process to find refactoring candidates, perform the refactorings in an isolated code branch, and collaborate with other developers to review the refactored code.

Kevin Sawicki, Perforce Software

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.