Awareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing, what design principles were overlooked or misapplied, and what principles need to be applied properly to address those smells through refactoring. Developers and software engineers may "know" principles and patterns, but are not aware of the "smells" that exist in their design because of wrong or mis-application of principles or patterns. These smells tend to contribute heavily to technical debt - further time owed to fix projects thought to be complete - and need to be addressed via proper refactoring. Refactoring for Software Design Smells presents 25 structural design smells, their role in identifying design issues, and potential refactoring solutions. Organized across common areas of software design, each smell is presented with diagrams and examples illustrating the poor design practices and the problems that result, creating a catalog of nuggets of readily usable information that developers or engineers can apply in their projects. The authors distill their research and experience as consultants and trainers, providing insights that have been used to improve refactoring and reduce the time and costs of managing software projects. Along the way they recount anecdotes from actual projects on which the relevant smell helped address a design issue.
Publisher: Elsevier Science & Technology
Number of pages: 258
Weight: 450 g
Dimensions: 235 x 191 x 14 mm
"Given its practical orientation and the variety of real-world examples offered throughout the book, this is a must-have for any practicing software engineer, developer, software architect, or anyone else interested in software design."--Computing Reviews "... a delightful, engaging, actionable read... you have in your hand a veritable field guide of smells... one of the more interesting and complex expositions of software smells you will ever find... The concept of technical debt is central to understanding the forces that weigh upon systems, for it often explains where and how and why a system is stressed. What delights me about this present book is its focus on technical debt and refactoring as the actionable means to attend to it." --From the foreword by Grady Booch, IBM Fellow and Chief Scientist for Software Engineering, IBM Research "Evolving software inevitably accumulates technical debt, making maintenance increasingly painful and expensive. The authors, based on their extensive experience, categorize the major design problems (smells) that come up in software, and lucidly explain how these can be solved with appropriate refactoring." --Diomidis Spinellis, Author of "Code Reading" and "Code Quality", Addison-Wesley Professional "...the book I would have loved to write... Refactoring for Software Design Smells is an excellent book. It is another milestone that professionals will use... I'm sure that you will learn a lot from it and that you will enjoy it." --From the foreword by Stephane Ducasse, Co-author of Object-Oriented Reengineering Patterns, Morgan Kaufmann
You may also be interested in...
Thank you for your reservation
Your order is now being processed and we have sent a confirmation email to you at
When will my order be ready to collect?
Call us on or send us an email at
Unfortunately there has been a problem with your order
Please try again or alternatively you can contact your chosen shop on or send us an email at