<?xml version="1.0" encoding="UTF-8"?>
<GoodreadsResponse>
	<Request>
		<authentication>false</authentication>
		    <method><![CDATA[]]></method>
	</Request>
	
<book>
  <id>866193</id>
  <title><![CDATA[Prefactoring]]></title>
  <isbn><![CDATA[0596008740]]></isbn>
  <isbn13><![CDATA[9780596008741]]></isbn13>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <description><![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]></description>
  <work>
  <best_book_id type="integer">866193</best_book_id>
  <books_count type="integer">1</books_count>
  <desc_user_id type="integer" nil="true"></desc_user_id>
  <id type="integer">851594</id>
  <media_type nil="true"></media_type>
  <original_language_id type="integer" nil="true"></original_language_id>
  <original_publication_day type="integer">1</original_publication_day>
  <original_publication_month type="integer">9</original_publication_month>
  <original_publication_year type="integer">2005</original_publication_year>
  <original_title>Prefactoring</original_title>
  <rating_dist>total:8|5:1|4:3|3:3|2:0|1:1|</rating_dist>
  <ratings_count type="integer">8</ratings_count>
  <ratings_sum type="integer">27</ratings_sum>
  <reviews_count type="integer">20</reviews_count>
  <text_reviews_count type="integer">2</text_reviews_count>
</work>

  <average_rating><![CDATA[3.38]]></average_rating>
  <ratings_count><![CDATA[8]]></ratings_count>
  <text_reviews_count><![CDATA[2]]></text_reviews_count>
  
  <url><![CDATA[http://www.goodreads.com/book/show/866193.Prefactoring]]></url>
  <link><![CDATA[http://www.goodreads.com/book/show/866193.Prefactoring]]></link>
  <authors>
    <author>
    <id>2816</id>
        <name><![CDATA[Ken Pugh]]></name>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto/nophoto-U-200x266.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto/nophoto-U-50x66.jpg]]></small_image_url>
    <link><![CDATA[http://www.goodreads.com/author/show/2816.Ken_Pugh]]></link>
    <average_rating>3.65</average_rating>
    <ratings_count>17</ratings_count>
    <text_reviews_count>3</text_reviews_count>
  </author>
  </authors>
    <reviews start="1" end="20" total="20">
      <review>
  <id>3868980</id>
    <user>
    <id>172457</id>
    <name><![CDATA[Mike]]></name>
    <location><![CDATA[Chicago, IL]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/172457-mike]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1247592620p3/172457.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1247592620p2/172457.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>4</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
            <shelf name="development" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Tue Nov 01 00:00:00 -0800 2005</read_at>
  <date_added>Tue Jul 31 15:10:16 -0700 2007</date_added>
  <date_updated>Thu Dec 17 03:05:27 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[As the title indicates, the author had the classic <em>Refactoring</em> in mind when they wrote this guide on what to do <em>before</em> writing code. Even if they don't quite attain the must-read status of their influence the writer has certainly put together a thoughtful and informative work, on a par with the gene...<a href="http://www.goodreads.com/review/show/3868980">more...</a>]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/3868980]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/3868980]]></link>
</review>
      <review>
  <id>13367038</id>
    <user>
    <id>187629</id>
    <name><![CDATA[Loren]]></name>
    <location><![CDATA[New York, NY]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/187629-loren-runcie]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>5</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="half-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Thu Jan 24 01:12:57 -0800 2008</date_added>
  <date_updated>Tue Jun 24 15:17:29 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[boring!]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/13367038]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/13367038]]></link>
</review>
      <review>
  <id>81560804</id>
    <user>
    <id>803449</id>
    <name><![CDATA[Steven1972]]></name>
    <location><![CDATA[Belgium]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/803449-steven1972]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1202648579p3/803449.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1202648579p2/803449.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Dec 20 08:46:00 -0800 2009</date_added>
  <date_updated>Sun Dec 20 08:46:00 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/81560804]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/81560804]]></link>
</review>
      <review>
  <id>53614471</id>
    <user>
    <id>760917</id>
    <name><![CDATA[Eugene]]></name>
    <location><![CDATA[Ukraine]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/760917-eugene]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Apr 22 12:06:27 -0700 2009</date_added>
  <date_updated>Wed Apr 22 12:06:27 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/53614471]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/53614471]]></link>
</review>
      <review>
  <id>51743486</id>
    <user>
    <id>1220236</id>
    <name><![CDATA[Antonio]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1220236-antonio]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="currently-reading" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Mon Apr 06 16:54:53 -0700 2009</date_added>
  <date_updated>Mon Apr 06 16:54:58 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/51743486]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/51743486]]></link>
</review>
      <review>
  <id>48985759</id>
    <user>
    <id>2115329</id>
    <name><![CDATA[Tim]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/2115329-tim-chase]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1236782496p3/2115329.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1236782496p2/2115329.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="geek" />
        <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Mar 11 19:11:52 -0700 2009</date_added>
  <date_updated>Wed Mar 11 19:12:03 -0700 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/48985759]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/48985759]]></link>
</review>
      <review>
  <id>42074476</id>
    <user>
    <id>1870408</id>
    <name><![CDATA[Johannes]]></name>
    <location><![CDATA[Göteborg, 28, Sweden]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1870408-johannes]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1231248895p3/1870408.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1231248895p2/1870408.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="development" />
        <shelf name="programming" />
        <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Jan 06 05:33:25 -0800 2009</date_added>
  <date_updated>Tue Jan 06 05:38:51 -0800 2009</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/42074476]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/42074476]]></link>
</review>
      <review>
  <id>36264876</id>
    <user>
    <id>1297337</id>
    <name><![CDATA[Benjamin]]></name>
    <location><![CDATA[Medford, MA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1297337-benjamin-darfler]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1220805193p3/1297337.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1220805193p2/1297337.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="owned" />
        <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Oct 26 18:04:58 -0700 2008</date_added>
  <date_updated>Sun Oct 26 18:05:00 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/36264876]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/36264876]]></link>
</review>
      <review>
  <id>32677225</id>
    <user>
    <id>640263</id>
    <name><![CDATA[Danny]]></name>
    <location><![CDATA[Richmond, VA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/640263-danny]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1258032734p3/640263.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1258032734p2/640263.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Fri Sep 12 04:12:34 -0700 2008</date_added>
  <date_updated>Fri Sep 12 04:12:34 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/32677225]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/32677225]]></link>
</review>
      <review>
  <id>32412424</id>
    <user>
    <id>989758</id>
    <name><![CDATA[Michael]]></name>
    <location><![CDATA[San Jose, CA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/989758-michael]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1205817132p3/989758.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1205817132p2/989758.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>4</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
            <shelf name="software-development" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Mon Sep 08 23:28:20 -0700 2008</date_added>
  <date_updated>Mon Sep 08 23:28:32 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/32412424]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/32412424]]></link>
</review>
      <review>
  <id>31073777</id>
    <user>
    <id>1234571</id>
    <name><![CDATA[Matt]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1234571-matt]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1215890786p3/1234571.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1215890786p2/1234571.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="currently-reading" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Aug 24 13:27:18 -0700 2008</date_added>
  <date_updated>Sun Aug 24 13:27:18 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/31073777]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/31073777]]></link>
</review>
      <review>
  <id>29696670</id>
    <user>
    <id>1411258</id>
    <name><![CDATA[Nathan]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1411258-nathan]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sat Aug 09 10:56:42 -0700 2008</date_added>
  <date_updated>Sat Aug 09 10:56:42 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/29696670]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/29696670]]></link>
</review>
      <review>
  <id>23706991</id>
    <user>
    <id>1210617</id>
    <name><![CDATA[Mims]]></name>
    <location><![CDATA[Los Angeles, CA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1210617-mims]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1212548208p3/1210617.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1212548208p2/1210617.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>3</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Wed Jun 04 13:57:24 -0700 2008</date_added>
  <date_updated>Wed Jun 04 13:57:24 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/23706991]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/23706991]]></link>
</review>
      <review>
  <id>22012498</id>
    <user>
    <id>400240</id>
    <name><![CDATA[Noah]]></name>
    <location><![CDATA[New York, NY]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/400240-noah-sussman]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1190348423p3/400240.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1190348423p2/400240.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
            <shelf name="to-read" />
      </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at>Sun May 11 00:00:00 -0700 2008</read_at>
  <date_added>Sun May 11 04:33:05 -0700 2008</date_added>
  <date_updated>Sun May 11 04:45:37 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/22012498]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/22012498]]></link>
</review>
      <review>
  <id>21585874</id>
    <user>
    <id>1137251</id>
    <name><![CDATA[David]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1137251-david-vasileff]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>3</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun May 04 14:40:21 -0700 2008</date_added>
  <date_updated>Sun May 04 14:40:21 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/21585874]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/21585874]]></link>
</review>
      <review>
  <id>21118567</id>
    <user>
    <id>1121158</id>
    <name><![CDATA[Will]]></name>
    <location><![CDATA[San Francisco, CA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/1121158-will]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1241798604p3/1121158.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1241798604p2/1121158.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>3</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sun Apr 27 14:55:27 -0700 2008</date_added>
  <date_updated>Sun Apr 27 14:55:27 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/21118567]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/21118567]]></link>
</review>
      <review>
  <id>18044534</id>
    <user>
    <id>979516</id>
    <name><![CDATA[Robert]]></name>
    <location><![CDATA[Pleasant Hill, CA]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/979516-robert-powell]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>1</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Tue Mar 18 16:02:35 -0700 2008</date_added>
  <date_updated>Tue Mar 18 16:02:35 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/18044534]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/18044534]]></link>
</review>
      <review>
  <id>17743502</id>
    <user>
    <id>515627</id>
    <name><![CDATA[Chad]]></name>
    <location><![CDATA[Saline, MI]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/515627-chad-harrison]]></link>
    <image_url><![CDATA[http://photo.goodreads.com/users/1205511196p3/515627.jpg]]></image_url>
    <small_image_url><![CDATA[http://photo.goodreads.com/users/1205511196p2/515627.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>4</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Fri Mar 14 09:21:23 -0700 2008</date_added>
  <date_updated>Fri Mar 14 09:21:23 -0700 2008</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/17743502]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/17743502]]></link>
</review>
      <review>
  <id>7969521</id>
    <user>
    <id>552368</id>
    <name><![CDATA[notv]]></name>
    <location><![CDATA[The United States]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/552368-notv]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-U-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Sat Oct 20 01:15:05 -0700 2007</date_added>
  <date_updated>Sat Oct 20 01:15:05 -0700 2007</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/7969521]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/7969521]]></link>
</review>
      <review>
  <id>4057396</id>
    <user>
    <id>250854</id>
    <name><![CDATA[Andrew]]></name>
    <location><![CDATA[Sun Prairie, WI]]></location>
    <link><![CDATA[http://www.goodreads.com/user/show/250854-andrew-broman]]></link>
    <image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-111x148.jpg]]></image_url>
    <small_image_url><![CDATA[http://www.goodreads.com/images/nophoto-M-50x66.jpg]]></small_image_url>
  </user>
    <book>
  <id type="integer">866193</id>
  <isbn>0596008740</isbn>
  <isbn13>9780596008741</isbn13>
  <text_reviews_count type="integer">2</text_reviews_count>
  <title>
    <![CDATA[Prefactoring]]>
  </title>
  <image_url>http://photo.goodreads.com/books/1179020980m/866193.jpg</image_url>
  <small_image_url>http://photo.goodreads.com/books/1179020980s/866193.jpg</small_image_url>
  <link>http://www.goodreads.com/book/show/866193.Prefactoring</link>
  <average_rating>3.38</average_rating>
  <ratings_count>8</ratings_count>
  <description>
    <![CDATA[Developers working on a project will often rethink and recode the software under construction to make its design cleaner and more elegant. Known as &quot;refactoring,&quot; this process is done for all sorts of reasons: to facilitate the addition of new features, to improve maintainability, and (or) to increase performance. Refactoring is an important and useful software process.  <p>  Refactor enough times though, and you will begin to learn things that you can do when building new software to reduce the amount of refactoring later in the process. Taking these lessons-learned and applying them on subsequent development projects is a process that Ken Pugh refers to as &quot;prefactoring&quot;.</p>  <p>  This practical, thought-provoking guide details prefactoring guidelines in design, code, and testing, each derived from the lessons of many developers over the years. By following these guidelines, you're far more likely to create more readable and maintainable code than would otherwise be the case.</p>  <p>  To help communicate the many facets of this process, Prefactoring follows the development of a software system for a fictitious client, named Sam, from vision to implementation. Some of the guidelines you'll encounter along the way include:  &lt;ul&gt;&lt;li&gt;When You're Abstract, Be Abstract All the Way  &lt;li&gt;Splitters Can Be Lumped Easier Than Lumpers Can Be Split  &lt;li&gt;Do a Little Job Well and You May Be Called Upon Often  &lt;li&gt;Plan Globally, Develop Locally  &lt;li&gt;Communicate with Your Code  &lt;li&gt;The Easiest Code to Debug Is That Which is Not Written  &lt;li&gt;Use the Client's Language   &lt;li&gt;Don't Let the Cold Air In  &lt;li&gt;Never Be Silent   &lt;li&gt;Don't Speed Until You Know Where You Are Going   <p>  If you have an object-oriented design background, you may save time by considering Ken's prefactoring guidelines before you begin your project, They won't guarantee that you will never need to refactor your design or code again, but you can cut down on the amount of refactoring you do.</p></p>]]>
  </description>
  <published>2005</published>
</book>

    <rating>0</rating>
  <votes>0</votes>
  <spoiler_flag>false</spoiler_flag>
  <shelves>
        <shelf name="read" />
          </shelves>
  <recommended_for><![CDATA[]]></recommended_for>
  <recommended_by><![CDATA[]]></recommended_by>
  <read_at></read_at>
  <date_added>Fri Aug 03 21:00:59 -0700 2007</date_added>
  <date_updated>Fri Aug 03 21:00:59 -0700 2007</date_updated>
  <read_count></read_count>
    <body><![CDATA[]]></body>
    
  <url><![CDATA[http://www.goodreads.com/review/show/4057396]]></url>
  <link><![CDATA[http://www.goodreads.com/review/show/4057396]]></link>
</review>
    </reviews>
  <popular_shelves>
          <shelf name="to-read" />
          <shelf name="programming" />
          <shelf name="currently-reading" />
          <shelf name="development" />
          <shelf name="college-university-textbooks" />
          <shelf name="geek" />
          <shelf name="software-development" />
          <shelf name="half-read" />
      </popular_shelves>
  <book_links>
    <book_link>
  <id>8</id>
  <name><![CDATA[WorldCat]]></name>
  <link>http://www.goodreads.com/book_link/follow/8?book_id=866193</link>
</book_link>
  </book_links>
</book>
</GoodreadsResponse>