InfoQ Homepage Refactoring Content on InfoQ
-
Architectural Refactoring: A Task-Centric View on Software Evolution
In this article, author discusses Architectural Refactoring (AR) techniques to improve the quality attributes without changing the system's scope and functionality. He also provides a TaskCentric Template and Architectural Refactoring Catalog.
-
Q&A on Test Driven Development and Code Smells with James Grenning
InfoQ interviewed James Grenning about why people are not doing technical practices sufficiently or well enough, why he thinks that TDD can be fun, the importance of unit tests, why programmers need to have a good nose for code smells and how they can become better in discovering "bad code”.
-
Natural Course of Refactoring – a Refactoring Workflow
This article provides ideas about how to approach refactoring based on the complexity and stability of the codebase (Feather's Quadrant) and proposes a refactoring workflow based on a four step process and some practical suggestions on how to apply it.
-
The Life and Times of TDD
Scott Ambler discusses a recent mini-survey designed to find out how TDD is being used in practice. He examines the state of practice and what techniques and tools are being used with TDD.
-
Refactoring Legacy Applications: A Case Study
To refactor legacy code, the ideal is to have a suite of unit tests to prevent regressions. However it's not always that easy. This article describes a methodology to safely refactor legacy code.
-
JetBrains Developer Tools
JetBrains is one of the few companies that thrives selling developer tools. In this interview you get some insight in their strategies, current and new products and future plans.
-
Technical Debt a Perspective for Managers
Developers often talk about Technical Debt saying its slowing your projects down. What are they really saying? What measures can you take to reduce it before it cripples your projects?
-
Skills for Scrum Agile Teams
The skills required to be hyper-productive in agile projects are different from those required by a traditional one. This article identifies behavioral and technical skills required for a team to have that edge. Anyone who acquires these "delta" traits should be equipped with the right set of behavioral and technical skills, which enable them to work effectively in an agile project.
-
Debunking Common Refactoring Misconceptions
In comparison to Java, an emphasis on continuous refactoring is still relatively new in .NET. Besides having few ardent proponents, many myths linger around what refactoring really is and how it applies to the development process in general. Danijel Arsenovski, author of Professional Refactoring in Visual Basic, attempts to dispel some of these myths.
-
Talking .NET Code Analysis with Patrick Smacchia
Patrick Smacchia is a Visual C# MVP with over 15 years of software development experience. He is the author of Practical .NET 2 and C# 2, books about the .NET platform. He has worked on software in a variety of fields including the stock exchange at Société Générale and a satellite base station at Alcatel. He's currently the lead developer of the tool NDepend.
-
Agile, Architecture and the 5am Production Problem
Can refactoring and unit testing really create robust “working software” that survives the real world? In this story adapted from his book Release It! Michael Nygard contends that "abstractions leak": we need to attend to architecture, even in Agile projects, to guard ourselves against the 5AM failures that occur when foundational abstractions misbehave.
-
Case Study: Targeted Practice Adoption using Patterns
It's easy to forget what originally motivated us, once we're implementing Agile. Teams spin, trying to figure out which practices to start with, unsure which will have the biggest impact, or how they fit together. Amr Elssamadisy and John Mufarrige propose a customized adoption approach to help teams decide where to focus first - an alternative to adoption of pre-packaged methodologies.