Refactoring is often not a technical challenge. Teams can accurately diagnose inefficient code design. If they have sufficient time and budget at their disposal, they would probably get things done. In this article, we focus on the strategic code refactoring. This distinction was introduced by the BNS IT consultants as part of the method called Natural Course of Refactoring.
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.
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 by Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma presents a catalogue of typical software design smells and how they can be remedied.
In this article, author discusses Architectural Refactoring (AR) techniques to improve the quality attributes without changing the system's scope and functionality.
James Grenning talks about why people are not doing technical practices sufficiently or well enough, TDD and unit tests, and on becoming better in discovering "bad code”.
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 process workflow 5
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.
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. 7
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. 5
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? 4
The skills needed to be hyper-productive in an agile project differ from those required by a traditional one. This article identifies behavioral and technical skills required to give a team that edge. 16