refactoring

Articles

Sticky tags that say "Hello, my name is," photo by Jon Tyson What's in a Name? Build Better Software by Naming Classes and Methods Clearly

One of the most important things to pay attention to when writing software is how we name our symbols. Data and behavior should be named in a way that represents the essence of what we're trying to do. Naming affects understandability and reflects code quality, so use names that clearly communicate your intentions, and refactor those names when your intentions change.

David Bernstein's picture David Bernstein
Making Agile Leaner Making the Agile Extra Lean by Adopting New Practices

Prakash Pujar writes about his team's experience adopting some of the best agile practices to make their process extra lean and increase efficiency by increasing throughput—all without any change to the agile framework his team was following before and after. Here, he talks about some of the lean practices that worked for them.

Prakash Pujar's picture Prakash Pujar
Refactoring Doesn’t Mean Rewrite

Peter Schuh writes that it is not a good thing that the use of the term refactoring has grown so common, which makes him cringe every time he hears a business person say the word. Refactoring is meant to be one skill of many that is second-nature to a journeyman programmer.

Peter Schuh

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

AgileConnection is a TechWell community.

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