BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Refactoring Content on InfoQ

  • Refactoring to Reactive - Anatomy of a JDBC migration

    Reactive programming offers built-in solutions for some of the most difficult challenges in programming, including concurrency management and flow control. So you might ask - how do I get there; can I introduce it in phases? In this article we transform a legacy application to a reactive model using RxJava.

  • Q&A with Johanna Rothman and Jutta Eckstein on Cost of Delay

    The book Diving For Hidden Treasures - Uncovering the Cost of Delay in Your Project Portfolio by Johanna Rothman and Jutta Eckstein explores how projects become delayed and provides tools and methods to analyze and limit the costs of delay in projects.

  • Refactoring for Software Design Smells Review and Q&A with the Authors

    Refactoring for Software Design Smells by Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma presents a catalogue of typical software design smells and how they can be fixed.

  • 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.

BT