Refactoring for Software Design Smells: Managing Technical Debt

Refactoring for Software Design Smells: Managing Technical Debt
ISBN-10
0128016469
ISBN-13
9780128016466
Category
Computers
Pages
258
Language
English
Published
2014-11-11
Publisher
Morgan Kaufmann
Authors
Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma

Description

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. Contains a comprehensive catalog of 25 structural design smells (organized around four fundamental design principles) that contribute to technical debt in software projects Presents a unique naming scheme for smells that helps understand the cause of a smell as well as points toward its potential refactoring Includes illustrative examples that showcase the poor design practices underlying a smell and the problems that result Covers pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice Presents insightful anecdotes and case studies drawn from the trenches of real-world projects

Similar books

  • Family History Digital Libraries
    By William Sims Bainbridge

    One named Sara and Timberlake had 11 male workers, 1 female worker, and 4 children workers, so it might have employed the Minor family.

  • Foundation Dreamweaver MX
    By Craig Grannell, Jerome Turner, Matt Stephens

    So here's what we need to do to arrive at our layout: s Create the main table to hold all the page elements. s Deal with the navigation area which is ...

  • Cisco CCNA Certification, 2 Volume Set: Exam 200-301
    By Todd Lammle

    This inclusive, two-book set provides what you need to know to succeed on the new CCNA exam. The set includes Understanding Cisco Networking Technologies: Volume 1 and the CCNA Certification Study Guide: Volume 2.

  • CompTIA Network+ Study Guide: Exam N10-006
    By Todd Lammle

    ... you can use: –a –A –c –n –r –R –S –s All nbtstat switches are case sensitive. Generally speaking, lowercase switches deal with NetBIOS names of hosts, ...

  • CompTIA Network+ Study Guide with Online Labs: N10-007 Exam
    By Todd Lammle, Jon Buhagiar

    ... you can use: –a –A –c –n –r –R –S –s All nbtstat switches are case sensitive. Generally speaking, lowercase switches deal with NetBIOS names of hosts, ...

  • CCNA: Cisco Certified Network Associate FastPass
    By Todd Lammle

    S The S reference point defines the point between the customer router and an ... with the letter E deal with using ISDN on the existing telephone network.

  • Stranger in the Chat Room
    By Todd Hafer, Jedd Hafer

    A sequel to In the Chat Room With God finds a group of teens contacted by a mysterious and increasingly malevolent character who claims to know about their encounters with the Almighty and challenges their beliefs. Original.

  • Error Correction Coding: Mathematical Methods and Algorithms
    By Todd K. Moon

    M M−1∑ k=0 −∞ ∞ k=0 The average energy per signal E s ∫ can be related to the ... we will deal primarily with additive white Gaussian noise (AWGN), ...

  • Security+ Training Guide
    By Todd King

    ... to deal with most , but unfortunately not all , of these potential threats . ... The S / MIME standard implements encryption for message content using ...

  • CCDA: Cisco Certified Design Associate Study Guide: Exam 640-861
    By Todd Lammle, Andy Barkl

    S reference point The S reference point defines the reference point between ... with the letter E deal with using ISDN on the existing telephone network.