refactoring
Fearless Refactoring, Not Reckless Refactoring Fearless refactoring is the agile concept that a developer should be able to incrementally change code without worrying about breaking it. But it's not believing that you don't need a safety net to detect and correct defects quickly when changes are made—that's just reckless. Here's how to avoid reckless refactoring. |
||
Overcoming Test-Driven Damage Some say test-driven development may work well initially, but as soon as we start to refactor our code, it breaks old tests and requires us to write new ones. This is not the fault of TDD; it’s the way we’re using it. TDD remains a valuable way to verify code as we write it, so we need to repair our test-driven damage. |
||
Keep Your Code Base Clean with Regular Refactoring The Boy Scouts have a rule: “Leave the campground cleaner than you found it.” You should apply the same principle to your code. Regular refactoring prevents code rot by keeping the code base clean and easy to maintain. Refactoring activities can be added to the product backlog as user stories to make it a discipline. |
||
How Agile Prevents Software Decay All of us have been in the situation where fixing a single issue can produce several other defects. Agile embraces continuous design changes and code refactoring to meet challenges from emerging requirements. This inherently promotes practices that prevent software decay. |
||
Variant Management Starts with Design Joe Farah describes how to not overload your branching with variants so as to permit your customers to dynamically modify the behavior of a software product. Variant management is a CM issue, but it has to be dealt with in the product design first. |
||
How Automation Benefits Agile Technical Practices Automation is an important aspect of agile technical practices. Automated builds, testing, and deployment enable developers to implement features and refactor to improve code quality with confidence. So, is there any reason to be skeptical about the benefits of automation? |