skip to content
Refactoring for software design smells : managing technical debt Preview this item
ClosePreview this item
Checking...

Refactoring for software design smells : managing technical debt

Author: Girish Suryanarayana; Ganesh Samarthyam; Tushar Sharma
Publisher: Amsterdam ; Boston : Elsevier, Morgan Kaufmann, [2015] ©2015
Edition/Format:   eBook : Document : EnglishView all editions and formats
Summary:
"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  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Genre/Form: Electronic books
Additional Physical Format: Print version:
Suryanarayana, Girish.
Refactoring for software design smells.
Amsterdam ; Boston : Elsevier, Morgan Kaufmann, [2015]
(DLC) 2014029955
(OCoLC)882190700
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Girish Suryanarayana; Ganesh Samarthyam; Tushar Sharma
ISBN: 9780128016466 0128016469
OCLC Number: 894791687
Description: 1 online resource (237 pages) : illustrations
Contents: 1. Technical debt --
2. Design smells --
3. Abstraction smells --
4. Encapsulation smells --
5. Modularization smells --
6. Hierarchy smells --
7. The smell ecosystem --
Repaying technical debt in practice.
Responsibility: Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma.

Abstract:

"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"--Provided by publisher.

Reviews

Editorial reviews

Publisher Synopsis

"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 Read more...

 
User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


\n\n

Primary Entity<\/h3>\n
<http:\/\/www.worldcat.org\/oclc\/894791687<\/a>> # Refactoring for software design smells : managing technical debt<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:CreativeWork<\/a>, schema:MediaObject<\/a>, schema:Book<\/a> ;\u00A0\u00A0\u00A0\nlibrary:oclcnum<\/a> \"894791687<\/span>\" ;\u00A0\u00A0\u00A0\nlibrary:placeOfPublication<\/a> <http:\/\/id.loc.gov\/vocabulary\/countries\/ne<\/a>> ;\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"Warning: This malformed URI has been treated as a string - \'http:\/\/images.contentreserve.com\/ImageType-100\/1706-1\/{70F6365F-F411-4C81-842B-7AAAE0967BAE}Img100.jpg\'<\/span>\" ;\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/computers_software_development_&_engineering_quality_assurance_&_testing<\/a>> ; # COMPUTERS--Software Development & Engineering--Quality Assurance & Testing<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/software_refactoring<\/a>> ; # Software refactoring<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/software_failures<\/a>> ; # Software failures<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/dewey.info\/class\/005.16\/e23\/<\/a>> ;\u00A0\u00A0\u00A0\nschema:author<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/suryanarayana_girish<\/a>> ; # Girish Suryanarayana<\/span>\n\u00A0\u00A0\u00A0\nschema:author<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/samarthyam_ganesh<\/a>> ; # Ganesh Samarthyam<\/span>\n\u00A0\u00A0\u00A0\nschema:author<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/sharma_tushar<\/a>> ; # Tushar Sharma<\/span>\n\u00A0\u00A0\u00A0\nschema:bookFormat<\/a> schema:EBook<\/a> ;\u00A0\u00A0\u00A0\nschema:copyrightYear<\/a> \"2015<\/span>\" ;\u00A0\u00A0\u00A0\nschema:datePublished<\/a> \"2015<\/span>\" ;\u00A0\u00A0\u00A0\nschema:description<\/a> \"\"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\"--Provided by publisher.<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:description<\/a> \"1. Technical debt -- 2. Design smells -- 3. Abstraction smells -- 4. Encapsulation smells -- 5. Modularization smells -- 6. Hierarchy smells -- 7. The smell ecosystem -- Repaying technical debt in practice.<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:exampleOfWork<\/a> <http:\/\/worldcat.org\/entity\/work\/id\/2209017573<\/a>> ;\u00A0\u00A0\u00A0\nschema:genre<\/a> \"Electronic books<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:inLanguage<\/a> \"en<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isSimilarTo<\/a> <http:\/\/www.worldcat.org\/oclc\/882190700<\/a>> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Refactoring for software design smells : managing technical debt<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:productID<\/a> \"894791687<\/span>\" ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/site.ebrary.com\/id\/10985419<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/www.sciencedirect.com\/science\/book\/9780128013977<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/VH7QX3XE2P.search.serialssolutions.com\/?V=1.0&L=VH7QX3XE2P&S=JCs&C=TC0001367287&T=marc&tab=BOOKS<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/brad.idm.oclc.org\/login?url=http:\/\/library.books24x7.com\/library.asp?bookid=77732<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/0-www.sciencedirect.com.pugwash.lib.warwick.ac.uk\/science\/book\/9780128013977<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/samples.overdrive.com\/refactoring-for-software?.epub-sample.overdrive.com<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/www.overdrive.com\/search?q=70F6365F-F411-4C81-842B-7AAAE0967BAE<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/search.ebscohost.com\/login.aspx?direct=true&scope=site&db=nlebk&db=nlabk&AN=887214<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> \"http:\/\/images.contentreserve.com\/ImageType-100\/1706-1\/{70F6365F-F411-4C81-842B-7AAAE0967BAE}Img100.jpg<\/span>\" ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/cornell-library.skillport.com\/skillportfe\/main.action?assetid=77732<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/www.books24x7.com\/marc.asp?bookid=77732<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/public.ebookcentral.proquest.com\/choice\/publicfullrecord.aspx?p=1831025<\/a>> ;\u00A0\u00A0\u00A0\nschema:workExample<\/a> <http:\/\/worldcat.org\/isbn\/9780128016466<\/a>> ;\u00A0\u00A0\u00A0\nwdrs:describedby<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/894791687<\/a>> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n\n

Related Entities<\/h3>\n
<http:\/\/dewey.info\/class\/005.16\/e23\/<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/samarthyam_ganesh<\/a>> # Ganesh Samarthyam<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Samarthyam<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Ganesh<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Ganesh Samarthyam<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/sharma_tushar<\/a>> # Tushar Sharma<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Sharma<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Tushar<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Tushar Sharma<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Person\/suryanarayana_girish<\/a>> # Girish Suryanarayana<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Suryanarayana<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Girish<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Girish Suryanarayana<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/computers_software_development_&_engineering_quality_assurance_&_testing<\/a>> # COMPUTERS--Software Development & Engineering--Quality Assurance & Testing<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"COMPUTERS--Software Development & Engineering--Quality Assurance & Testing<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/software_failures<\/a>> # Software failures<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Software failures<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/2209017573#Topic\/software_refactoring<\/a>> # Software refactoring<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Software refactoring<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/id.loc.gov\/vocabulary\/countries\/ne<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Place<\/a> ;\u00A0\u00A0\u00A0\ndcterms:identifier<\/a> \"ne<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/worldcat.org\/isbn\/9780128016466<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:ProductModel<\/a> ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"0128016469<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"9780128016466<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/oclc\/882190700<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:CreativeWork<\/a> ;\u00A0\u00A0\u00A0\nrdfs:label<\/a> \"Refactoring for software design smells.<\/span>\" ;\u00A0\u00A0\u00A0\nschema:description<\/a> \"Print version:<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isSimilarTo<\/a> <http:\/\/www.worldcat.org\/oclc\/894791687<\/a>> ; # Refactoring for software design smells : managing technical debt<\/span>\n\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n