skip to content
Covid-19 virus
COVID-19 Resources

Reliable information about the coronavirus (COVID-19) is available from the World Health Organization (current situation, international travel). Numerous and frequently-updated resource results are available from this WorldCat.org search. OCLC’s WebJunction has pulled together information and resources to assist library staff as they consider how to handle coronavirus issues in their communities.

Image provided by: CDC/ Alissa Eckert, MS; Dan Higgins, MAM
Working effectively with legacy code Preview this item
ClosePreview this item
Checking...

Working effectively with legacy code

Author: Michael C Feathers
Publisher: Upper Saddle River, NJ : Prentice Hall Professional Technical Reference, ©2005.
Edition/Format:   eBook : Document : EnglishView all editions and formats
Summary:
"In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control." "This book also includes a catalog of  Read more...
Rating:

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

Subjects
More like this

Find a copy online

Links to this item

Find a copy in the library

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

Details

Genre/Form: Electronic book
Electronic books
Additional Physical Format: Print version:
Feathers, Michael C.
Working effectively with legacy code.
Upper Saddle River, NJ : Prentice Hall Professional Technical Reference, ©2005
(OCoLC)59715717
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Michael C Feathers
ISBN: 0132931745 9780132931748 9780132931755 0132931753
OCLC Number: 660166658
Language Note: English.
Notes: Includes index.
Description: 1 online resource (xxi, 434 pages) : illustrations.
Contents: Foreword / Robert C. Martin --
1. Changing software --
2. Working with feedback --
3. Sensing and separation --
4. seam model --
5. Tools --
6. I don't have much time and I have to change it --
7. It takes forever to make a change --
8. How do I add a feature? --
9. I can't get this class into a test harness --
10. I can't run this method into a test harness --
11. I need to make a change : what methods should I test? --
12. I need to make many changes in one area --
13. I need to make a change, but I don't know what tests to write --
14. Dependencies on libraries are killing me --
15. My application is all API calls --
16. I don't understand the code well enough to change it --
17. My application has no structure --
18. My test code is in the way --
19. My project is not object-oriented : how do I make safe changes? --
20. This class is too big and I don't want it to get any bigger --
21. I'm changing the same code all over the place --
22. I need to change a monster method and I can't write tests for it --
23. How do I know that I'm not breaking anything? --
24. We feel overwhelmed : it isn't going to get any better --
25. Dependency-breaking techniques --
App. Refactoring.
Responsibility: Michael C. Feathers.

Abstract:

"In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control." "This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes."--Jacket.

Reviews

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\/660166658<\/a>> # Working effectively with legacy code<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Book<\/a>, schema:CreativeWork<\/a>, schema:MediaObject<\/a> ;\u00A0\u00A0\u00A0\nlibrary:oclcnum<\/a> \"660166658<\/span>\" ;\u00A0\u00A0\u00A0\nlibrary:placeOfPublication<\/a> <http:\/\/id.loc.gov\/vocabulary\/countries\/nju<\/a>> ;\u00A0\u00A0\u00A0\nlibrary:placeOfPublication<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Place\/upper_saddle_river_nj<\/a>> ; # Upper Saddle River, NJ<\/span>\n\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"Warning: This malformed URI has been treated as a string - \'https:\/\/www.safaribooksonline.com\/library\/view\/title\/0131177052\/?ar?orpq&email=^u\'<\/span>\" ;\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"Warning: This malformed URI has been treated as a string - \'https:\/\/img1.od-cdn.com\/ImageType-100\/0447-1\/{0BE0D0AE-965D-4CF0-9ECE-112E5A05587D}Img100.jpg\'<\/span>\" ;\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"Warning: This malformed URI has been treated as a string - \'https:\/\/www.safaribooksonline.com\/library\/view\/-\/0131177052\/?ar?orpq&email=^u\'<\/span>\" ;\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/id.loc.gov\/authorities\/subjects\/sh95009362<\/a>> ; # Application software--Development<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Topic\/engineering_&_applied_sciences<\/a>> ; # Engineering & Applied Sciences<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Topic\/computer_science<\/a>> ; # Computer Science<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/id.worldcat.org\/fast\/811707<\/a>> ; # Application software--Development<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/dewey.info\/class\/005.1\/<\/a>> ;\u00A0\u00A0\u00A0\nschema:bookFormat<\/a> schema:EBook<\/a> ;\u00A0\u00A0\u00A0\nschema:copyrightYear<\/a> \"2005<\/span>\" ;\u00A0\u00A0\u00A0\nschema:creator<\/a> <http:\/\/viaf.org\/viaf\/90606534<\/a>> ; # Michael C. Feathers<\/span>\n\u00A0\u00A0\u00A0\nschema:datePublished<\/a> \"2005<\/span>\" ;\u00A0\u00A0\u00A0\nschema:exampleOfWork<\/a> <http:\/\/worldcat.org\/entity\/work\/id\/4918848137<\/a>> ;\u00A0\u00A0\u00A0\nschema:genre<\/a> \"Electronic book<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:genre<\/a> \"Electronic books<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:inLanguage<\/a> \"en<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isPartOf<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Series\/robert_c_martin_series<\/a>> ; # Robert C. Martin series.<\/span>\n\u00A0\u00A0\u00A0\nschema:isSimilarTo<\/a> <http:\/\/www.worldcat.org\/oclc\/59715717<\/a>> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Working effectively with legacy code<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\nschema:productID<\/a> \"660166658<\/span>\" ;\u00A0\u00A0\u00A0\nschema:publication<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658#PublicationEvent\/upper_saddle_river_nj_prentice_hall_professional_technical_reference_2005<\/a>> ;\u00A0\u00A0\u00A0\nschema:publisher<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Agent\/prentice_hall_professional_technical_reference<\/a>> ; # Prentice Hall Professional Technical Reference<\/span>\n\u00A0\u00A0\u00A0\nschema:reviews<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658#Review\/-891748086<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/library-collections-search.westminster.ac.uk\/openurl\/44WST_INST\/44WST_INST:WST_VUA?u.ignore_date_coverage=true&rft.mms_id=996824409403711<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/excerpts.cdn.overdrive.com\/FormatType-410\/0447-1\/0BE\/0D0\/AE\/WorkingEffectivelywithLegacyCode9780132931755.epub<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/www.safaribooksonline.com\/library\/view\/-\/0131177052\/?ar<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> \"https:\/\/img1.od-cdn.com\/ImageType-100\/0447-1\/{0BE0D0AE-965D-4CF0-9ECE-112E5A05587D}Img100.jpg<\/span>\" ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/ra.ocls.ca\/ra\/login.aspx?inst=conestoga&url=http:\/\/proquest.safaribooksonline.com\/0131177052<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/www.myilibrary.com?id=264979<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/samples.overdrive.com\/?crid=0BE0D0AE-965D-4CF0-9ECE-112E5A05587D&.epub-sample.overdrive.com<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/VH7QX3XE2P.search.serialssolutions.com\/?V=1.0&L=VH7QX3XE2P&S=JCs&C=TC0000078846&T=marc&tab=BOOKS<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/proxy.library.carleton.ca\/login?url=http:\/\/proquest.safaribooksonline.com\/?uiCode=carleton&xmlId=0131177052<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/www.overdrive.com\/search?q=0BE0D0AE-965D-4CF0-9ECE-112E5A05587D<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <https:\/\/proquest.safaribooksonline.com\/0131177052<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> <http:\/\/proquest.safaribooksonline.com\/0131177052<\/a>> ;\u00A0\u00A0\u00A0\nschema:url<\/a> \"https:\/\/www.safaribooksonline.com\/library\/view\/title\/0131177052\/?ar?orpq&email=^u<\/span>\" ;\u00A0\u00A0\u00A0\nschema:url<\/a> \"https:\/\/www.safaribooksonline.com\/library\/view\/-\/0131177052\/?ar?orpq&email=^u<\/span>\" ;\u00A0\u00A0\u00A0\nschema:workExample<\/a> <http:\/\/worldcat.org\/isbn\/9780132931748<\/a>> ;\u00A0\u00A0\u00A0\nschema:workExample<\/a> <http:\/\/worldcat.org\/isbn\/9780132931755<\/a>> ;\u00A0\u00A0\u00A0\nwdrs:describedby<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658<\/a>> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n\n

Related Entities<\/h3>\n
<http:\/\/dewey.info\/class\/005.1\/<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Agent\/prentice_hall_professional_technical_reference<\/a>> # Prentice Hall Professional Technical Reference<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nbgn:Agent<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Prentice Hall Professional Technical Reference<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Person\/martin_robert_c<\/a>> # Robert C. Martin<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Martin<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Robert C.<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Robert C. Martin<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Place\/upper_saddle_river_nj<\/a>> # Upper Saddle River, NJ<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Place<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Upper Saddle River, NJ<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Series\/robert_c_martin_series<\/a>> # Robert C. Martin series.<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nbgn:PublicationSeries<\/a> ;\u00A0\u00A0\u00A0\nschema:creator<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Person\/martin_robert_c<\/a>> ; # Robert C. Martin<\/span>\n\u00A0\u00A0\u00A0\nschema:hasPart<\/a> <http:\/\/www.worldcat.org\/oclc\/660166658<\/a>> ; # Working effectively with legacy code<\/span>\n\u00A0\u00A0\u00A0\nschema:name<\/a> \"Robert C. Martin series.<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Robert C. Martin series<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Topic\/computer_science<\/a>> # Computer Science<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Computer Science<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Topic\/engineering_&_applied_sciences<\/a>> # Engineering & Applied Sciences<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Engineering & Applied Sciences<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/id.loc.gov\/authorities\/subjects\/sh95009362<\/a>> # Application software--Development<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Application software--Development<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/id.loc.gov\/vocabulary\/countries\/nju<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Place<\/a> ;\u00A0\u00A0\u00A0\ndcterms:identifier<\/a> \"nju<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/id.worldcat.org\/fast\/811707<\/a>> # Application software--Development<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Application software--Development<\/span>\"@en<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/proxy.library.carleton.ca\/login?url=http:\/\/proquest.safaribooksonline.com\/?uiCode=carleton&xmlId=0131177052<\/a>>\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"Safari (Access restricted to 5 simultaneous users)<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/ra.ocls.ca\/ra\/login.aspx?inst=conestoga&url=http:\/\/proquest.safaribooksonline.com\/0131177052<\/a>>\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"5 simultaneous users allowed through Safari Technical Books<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/VH7QX3XE2P.search.serialssolutions.com\/?V=1.0&L=VH7QX3XE2P&S=JCs&C=TC0000078846&T=marc&tab=BOOKS<\/a>>\u00A0\u00A0\u00A0\nrdfs:comment<\/a> \"VIEW FULL TEXT<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/viaf.org\/viaf\/90606534<\/a>> # Michael C. Feathers<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Feathers<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Michael C.<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Michael C. Feathers<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/worldcat.org\/isbn\/9780132931748<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:ProductModel<\/a> ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"0132931745<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"9780132931748<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/worldcat.org\/isbn\/9780132931755<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:ProductModel<\/a> ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"0132931753<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"9780132931755<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/oclc\/59715717<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:CreativeWork<\/a> ;\u00A0\u00A0\u00A0\nrdfs:label<\/a> \"Working effectively with legacy code.<\/span>\" ;\u00A0\u00A0\u00A0\nschema:description<\/a> \"Print version:<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isSimilarTo<\/a> <http:\/\/www.worldcat.org\/oclc\/660166658<\/a>> ; # Working effectively with legacy code<\/span>\n\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658<\/a>>\u00A0\u00A0\u00A0\u00A0a \ngenont:InformationResource<\/a>, genont:ContentTypeGenericResource<\/a> ;\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/www.worldcat.org\/oclc\/660166658<\/a>> ; # Working effectively with legacy code<\/span>\n\u00A0\u00A0\u00A0\nschema:dateModified<\/a> \"2020-08-13<\/span>\" ;\u00A0\u00A0\u00A0\nvoid:inDataset<\/a> <http:\/\/purl.oclc.org\/dataset\/WorldCat<\/a>> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658#PublicationEvent\/upper_saddle_river_nj_prentice_hall_professional_technical_reference_2005<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:PublicationEvent<\/a> ;\u00A0\u00A0\u00A0\nschema:location<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Place\/upper_saddle_river_nj<\/a>> ; # Upper Saddle River, NJ<\/span>\n\u00A0\u00A0\u00A0\nschema:organizer<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/4918848137#Agent\/prentice_hall_professional_technical_reference<\/a>> ; # Prentice Hall Professional Technical Reference<\/span>\n\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/title\/-\/oclc\/660166658#Review\/-891748086<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Review<\/a> ;\u00A0\u00A0\u00A0\nschema:itemReviewed<\/a> <http:\/\/www.worldcat.org\/oclc\/660166658<\/a>> ; # Working effectively with legacy code<\/span>\n\u00A0\u00A0\u00A0\nschema:reviewBody<\/a> \"\"In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control.\" \"This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.\"--Jacket.<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n