Tag: Design Smells

Are We Developing Features or Our Future Nightmares

A recent study (presentation, paper) conducted on close to 2000 open-source C# projects revealed that on average every C# class that we work with has approximately 2 design smells and 6 implementation smells. The study shows that unutilized abstraction and duplicate abstraction are the most frequently occurring design smells. Similarly, […]

A Few Uncommon Design Smells

We started working on design smells many years earlier than when we started writing our book “Refactoring for Software Design Smells”. I was digging through some of the old documents and remembered that we did not cover many smells, considering them to be “uncommon smells”. By “uncommon smells”, I mean […]

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 […]

Why Care About Design Principles?

“The computer industry is the only industry that is more fashion-driven than women’s fashion” said Larry J. Ellison (CEO of Oracle). Technology is changing more rapidly than ever before – with old buzzwords getting quickly replaced by new ones (do you still remember buzz words like “grid computing” and “semantic […]

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: […]

Evolution of MonoDevelop Structure

In this case study article, we analyze MonoDevelop IDE using Designite tool. We present how the structure and smell profile evolved (during 2011 to 2015 timeframe) with the help of a few graphs. By reading this article, you will know how you can perform a grounded analysis of the evolution […]

Understanding Software Design Quality

What is software design quality? How do we create high-quality designs? How do we evaluate software design quality? These are some of the questions that a developer or an architect may have. In this article, we attempt to bring out our perspective on these aspects. What is design quality? Software […]

Leveraging Smells for Analytics

Software analytics has become a buzzword today and holds the promise of increasing the efficiency of software development and processes. A number of people are spending countless hours mining software repositories to garner retrospective and predictive insights that can disrupt the way software projects are managed. That brings us to […]