Tag: Refactoring

Lifecycle of smells

Track Smells for Improved Maintainability

It is commonly understood that an excessive number of smells in a software system impair the quality of the software and makes the software hard to maintain and evolve. A lot about smells has been studied and written in last two decades. You may find a large collection of smells […]

How to Carry Out a Quick Design Assessment – An Example

Poor design quality and huge technical debt are common issues perceived in real-life software projects. Carrying out a software design quality assessment effectively and adopting the recommendations from it could improve the design quality. A comprehensive design assessment requires us to know the requirements in detail and weight different design […]

“Refactoring for Software Architecture Smells” – IWoR

The paper “Refactoring for Software Architecture Smells” to appear in the proceedings of the 1st International Workshop on Refactoring (IWoR), co-located with Automated Software Engineering (ASE) conference, to be held on 4 Sept 2016 in Singapore. Abstract Code smells and refactoring have received considerable interest from the academia as well […]

Book Review – “Refactoring for Software Design Smells”

ACM SigSoft Software Engineering Notes A short review of our design smells book titled “Refactoring for Software Design Smells: Managing Technical Debt” has recently appeared on ACM Sigsoft Software Engineering Notes. The review is written by Will Tracz. Some of the important points mentioned in the review are presented below: […]

Is Refactoring a “Needless Rework”?

“Refactoring is a needless rework – I want my team to get the design right the first time!” told a project manager when one of us were discussing software design with him. Is he right? Why should developers “waste” time improving the design of existing code when they can be […]

Refactor vs Rewrite

Conversations such as “Oh, this is such a cluttered design”, “This software has high technical debt”, and “What a complex piece of code!” may lead to exchanges such as “Can’t we do something about this?”, “Why can’t we scrap this?”, and “Can refactoring make it better?” Essentially, the discussion boils […]