Four Strategies for Managing Technical Debt

Current literature related to software engineering research, developers’ blogs, as well as software engineering developers’ conferences talk in a great deal about technical debt. It is relevant to ask — why technical …

Does Your Architecture Smell?

Disclaimer: Here is the original source of the article. Reproduced here with permission. Kent Beck coined the term “code smell” in the popular Refactoring book by Martin Fowler and defined …

Revisiting LCOM

Along with other metrics, LCOM (Lack of Cohesion in Methods) was first defined by C&K in the OOPSLA paper [1] that invented a new field of object-oriented metrics. LCOM shows …

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 …

Common (and Uncommon) Smells in Java Code

Smells are structures in code that violate design principles and negatively impact quality. Here are some of the bad smells in Java code. Constant Interface Constant interfaces have only static …