<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>Refactoring</title>
    <subTitle>improving the design of existing code</subTitle>
  </titleInfo>
  <name type="personal">
    <namePart>Fowler, Martin</namePart>
    <role>
      <roleTerm authority="marcrelator" type="text">creator</roleTerm>
    </role>
    <role>
      <roleTerm type="text">autor.</roleTerm>
    </role>
    <role>
      <roleTerm authority="marcrelator" type="code">aut</roleTerm>
    </role>
  </name>
  <typeOfResource>text</typeOfResource>
  <originInfo>
    <dateIssued encoding="marc">2019</dateIssued>
    <edition>2.</edition>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">spa</languageTerm>
  </language>
  <language objectPart="translation">
    <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
  </language>
  <physicalDescription>
    <form authority="marcform">print</form>
    <extent>418 páginas : illustrations (some color) ; 24 cm.</extent>
  </physicalDescription>
  <abstract>For more than twenty years, experienced programmers worldwide have relied on the author's guidance to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand. This guide has been fully updated to reflect crucial changes in the programming landscape. The book features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes. Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. Readers will learn how to understand the process and general principles of refactoring. They will also learn how to quickly apply useful refactorings to make a program easier to comprehend and change, and how to recognize "bad smells" in code that signal opportunities to refactor. This book helps readers to explore the refactorings, each with explanations, motivation, mechanics, and simple examples. Learn how to build solid tests for your refactorings, and how to recognize tradeoffs and obstacles to refactoring.</abstract>
  <tableOfContents>Refactoring : a first example -- Principles in refactoring -- Bad smells in code -- Building tests -- Introducing the catalog -- A first set of refactorings -- Encapsulation -- Moving features -- Organizing data -- Simplifying conditional logic -- Refactoring APIs -- Dealing with inheritance.</tableOfContents>
  <note>"With contributions by Kent Beck"--Cover.</note>
  <note>Includes bibliographical references (pages 405-407) and index.</note>
  <subject authority="lcsh">
    <topic>Software reengineering</topic>
  </subject>
  <subject authority="lcsh">
    <topic>Object-oriented programming</topic>
    <topic>Computer science</topic>
  </subject>
  <subject authority="rvm">
    <topic>Logiciels</topic>
    <topic>Remaniement</topic>
  </subject>
  <subject authority="rvm">
    <topic>Programmation</topic>
  </subject>
  <subject authority="">
    <topic>Object-oriented programming</topic>
    <topic>Computer science</topic>
  </subject>
  <subject authority="fast">
    <topic>Software reengineering</topic>
  </subject>
  <classification authority="ddc" edition="23">005.14 F785</classification>
  <relatedItem type="series">
    <titleInfo>
      <title>Addison-Wesley signature series</title>
    </titleInfo>
  </relatedItem>
  <identifier type="isbn">9780134757599</identifier>
  <identifier type="isbn">0134757599</identifier>
  <recordInfo>
    <recordContentSource authority="marcorg"/>
    <recordCreationDate encoding="marc">250310</recordCreationDate>
    <recordChangeDate encoding="iso8601">20251030140041.0</recordChangeDate>
    <languageOfCataloging>
      <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
    </languageOfCataloging>
  </recordInfo>
</mods>
