Deliver toUnited Arab Emirates
Refactoring: Improving the Design of Existing Code (Addison-Wesley Signature Series (Fowler))

Description:

Martin Fowler’s guide to reworking bad code into well-structured code

Refactoring improves the design of existing code and enhances software maintainability, as well as making existing code easier to understand. Original Agile Manifesto signer and software development thought leader, Martin Fowler, provides a catalog of refactorings that explains why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.

  • Refactoring principles: understand the process and general principles of refactoring
  • Code smells: recognize “bad smells” in code that signal opportunities to refactor
  • Application improvement: quickly apply useful refactorings to make a program easier to comprehend and change
  • Building tests: writing good tests increases a programmer’s effectiveness
  • Moving features: an important part of refactoring is moving elements between contexts
  • Data structures: a collection of refactorings to organize data, an important role in programs
  • Conditional Logic: use refactorings to make conditional sections easier to understand
  • APIs: modules and their functions are the building blocks of our software, and APIs are the joints that we use to plug them together
  • Inheritance: it is both very useful and easy to misuse, and it’s often hard to see the misuse until it’s in the rear-view mirror---refactorings can fix the misuse

Examples are written in JavaScript, but you shouldn’t find it difficult to adapt the refactorings to whatever language you are currently using as they look mostly the same in different languages.

"Whenever you read [Refactoring], it’s time to read it again. And if you haven’t read it yet, please do before writing another line of code." –David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” –M. Fowler (1999)


Review

Select Guide Rating

From the Back Cover

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

Reviews:

5.0 out of 5 stars Thoughtful and engaging

W.Y.D. · 26 April 2019

There have been some comments about the thickness of paper of this book. I was already aware of the fact due to Fowler mentioning it on an announcement post he made about the second edition. The thinness of the pages was still surprising, and as a result I’ve ended up treating the book more ‘delicately’ than I would have otherwise, which in a way added to the ‘specialness’ of this book.The content of this book is second to none - it’s a goldmine of useful techniques to help keep code in the best shape possible. Fowler goes into excruciating detail with regard to the steps taken for each refactoring. I found the reinforcement of ‘smaller steps’ incredibly useful when applying the techniques on my own later - I moved incrementally with the confidence of knowing which exact step in the process may have triggered a test failure.On the subject of testing, the book hammers home it’s importance in being able to actually refactor, which I can only see as a good thing.While the language of choice for the second edition is JavaScript, Fowler explains that the book is not focused on the language itself, rather it uses it as a vehicle to communicate the refactoring to a wider audience (the JavaScript used in the book is fairly simple and easy to follow). The fact that much of the software world is writing or making use of JavaScript in some way possibly makes this book more consumable by more people, perhaps as a result it can be used to introduce new ways of thinking about software to those not previously exposed to the type of knowledge and approach exposed in this book.Returning to the topic of physical quality, the book is hardbacked, the pages are printed with some colour (rare for a programming book), in addition to having a ribbon in the spine. These attributes only add to the positive experience of reading this book.

5.0 out of 5 stars Great book

G.B. · 6 January 2025

Great book. Very informative and helpful.

5.0 out of 5 stars Great book with useful additions compared to the first edition!

L. · 29 July 2020

This book has been the very pillar upon which my master's thesis is built. Fowler has a very down-to-earth way of writing, making this book more like learning from a colleague than reading some tedious academic tome. Essential reading for any serious software developer!I did notice that the book's pages are surprisingly thin so you need to handle them with particular care.

4.0 out of 5 stars Useful but a bit dated and too much redundancy

". · 8 March 2024

It was a useful read to develop and reinforce a "language" particularly a visual language (the diagrams at the beginning of reach refactoring) to help conceptualise refactoring in general.It feels a "old school" in the sense that the newest trend is definitely moving away from old school object oriented programming, functional programming idioms are also getting more and more mainstream. As a result a lot of the refactorings are not so relevant anymore? But studying the examples is a good mental exercise anyway for now one might approach rewiring code step by step

5.0 out of 5 stars Timeless content impeccably printed

C. · 30 November 2024

5.0 out of 5 stars So much more to judge than paper quality

J. · 22 February 2021

Omg, forget about the quality of paper. The information is essential information for a developer on a journey of cleancode. If you destroy this nook because you've read it too much then well-done. I found this version much more accessible because it's thinner but much more amazingly has coloured printing, which I've found so much better than the original and defines the sections much easier. So much better than a lot of material out there.

5.0 out of 5 stars Great book.

C.S. · 25 April 2021

A bit advanced, but great book for life.

5.0 out of 5 stars Excellent book

P. · 20 February 2019

I would advised even the most seasoned software engineer to give this a visit. The examples are great.

Excelente libro

R. · 26 January 2023

Muy buen libro, desde las primeras páginas me dio tips para realizar refactor en mis proyectos.

Well worth having

A.カ. · 6 June 2021

Be careful with the paper, as it’s quite thin. Overjoyed with the contents of the book though, it’s going to serve me well for many years I’m sure.

Interessant

S.S. · 31 December 2025

Der Beschenkte war begeistert von dem Buch. Sehr informativ für ihn.Ist aber zu beachten, dass es auf Englisch verfasst wurde, da Original.

good read

A.C. · 30 December 2020

quality is fantastic.

Read this right now. It will change your behaviour.

w.o. · 16 December 2023

I have been in the software development industry for more than 10 years. I met this book 5 years ago, and instantly thought I wish I had this book earlier in my career. Oh well, you can't turn back the clock.Since then, I have kept recommending this book in my community. I even bought some copies for young developers to help their growth.

Refactoring: Improving the Design of Existing Code (Addison-Wesley Signature Series (Fowler))

Product ID: K0134757599
Condition: New

4.7

(1,179 ratings)

AED31460

Price includes VAT & Import Duties
Type: Hardcover
Availability: In Stock

Quantity:

|

Order today to get by 7-14 business days

This item qualifies for free delivery

Returns & Warranty policies

Imported From: United Kingdom

At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.

BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.

Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.

If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.

Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.

All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.

While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.

Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.

BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.

All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.

All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.

More from this brand

Similar items from “Design Patterns”

Refactoring: Improving the Design of Existing Code (Addison-Wesley Signature Series (Fowler))

Product ID: K0134757599
Condition: New

4.7

(1,179 ratings)
Refactoring: Improving the Design of Existing Code (Addison-Wesley Signature Series (Fowler))-0
Type: Hardcover

AED31460

Price includes VAT & Import Duties
Availability: In Stock

Quantity:

|

Order today to get by 7-14 business days

This item qualifies for free delivery

Returns & Warranty policies

Imported From: United Kingdom

At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.

BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.

Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.

If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.

Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.

All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.

While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.

Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.

BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.

All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.

All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.

Description:

Martin Fowler’s guide to reworking bad code into well-structured code

Refactoring improves the design of existing code and enhances software maintainability, as well as making existing code easier to understand. Original Agile Manifesto signer and software development thought leader, Martin Fowler, provides a catalog of refactorings that explains why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.

  • Refactoring principles: understand the process and general principles of refactoring
  • Code smells: recognize “bad smells” in code that signal opportunities to refactor
  • Application improvement: quickly apply useful refactorings to make a program easier to comprehend and change
  • Building tests: writing good tests increases a programmer’s effectiveness
  • Moving features: an important part of refactoring is moving elements between contexts
  • Data structures: a collection of refactorings to organize data, an important role in programs
  • Conditional Logic: use refactorings to make conditional sections easier to understand
  • APIs: modules and their functions are the building blocks of our software, and APIs are the joints that we use to plug them together
  • Inheritance: it is both very useful and easy to misuse, and it’s often hard to see the misuse until it’s in the rear-view mirror---refactorings can fix the misuse

Examples are written in JavaScript, but you shouldn’t find it difficult to adapt the refactorings to whatever language you are currently using as they look mostly the same in different languages.

"Whenever you read [Refactoring], it’s time to read it again. And if you haven’t read it yet, please do before writing another line of code." –David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” –M. Fowler (1999)


Review

Select Guide Rating

From the Back Cover

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

Reviews:

5.0 out of 5 stars Thoughtful and engaging

W.Y.D. · 26 April 2019

There have been some comments about the thickness of paper of this book. I was already aware of the fact due to Fowler mentioning it on an announcement post he made about the second edition. The thinness of the pages was still surprising, and as a result I’ve ended up treating the book more ‘delicately’ than I would have otherwise, which in a way added to the ‘specialness’ of this book.The content of this book is second to none - it’s a goldmine of useful techniques to help keep code in the best shape possible. Fowler goes into excruciating detail with regard to the steps taken for each refactoring. I found the reinforcement of ‘smaller steps’ incredibly useful when applying the techniques on my own later - I moved incrementally with the confidence of knowing which exact step in the process may have triggered a test failure.On the subject of testing, the book hammers home it’s importance in being able to actually refactor, which I can only see as a good thing.While the language of choice for the second edition is JavaScript, Fowler explains that the book is not focused on the language itself, rather it uses it as a vehicle to communicate the refactoring to a wider audience (the JavaScript used in the book is fairly simple and easy to follow). The fact that much of the software world is writing or making use of JavaScript in some way possibly makes this book more consumable by more people, perhaps as a result it can be used to introduce new ways of thinking about software to those not previously exposed to the type of knowledge and approach exposed in this book.Returning to the topic of physical quality, the book is hardbacked, the pages are printed with some colour (rare for a programming book), in addition to having a ribbon in the spine. These attributes only add to the positive experience of reading this book.

5.0 out of 5 stars Great book

G.B. · 6 January 2025

Great book. Very informative and helpful.

5.0 out of 5 stars Great book with useful additions compared to the first edition!

L. · 29 July 2020

This book has been the very pillar upon which my master's thesis is built. Fowler has a very down-to-earth way of writing, making this book more like learning from a colleague than reading some tedious academic tome. Essential reading for any serious software developer!I did notice that the book's pages are surprisingly thin so you need to handle them with particular care.

4.0 out of 5 stars Useful but a bit dated and too much redundancy

". · 8 March 2024

It was a useful read to develop and reinforce a "language" particularly a visual language (the diagrams at the beginning of reach refactoring) to help conceptualise refactoring in general.It feels a "old school" in the sense that the newest trend is definitely moving away from old school object oriented programming, functional programming idioms are also getting more and more mainstream. As a result a lot of the refactorings are not so relevant anymore? But studying the examples is a good mental exercise anyway for now one might approach rewiring code step by step

5.0 out of 5 stars Timeless content impeccably printed

C. · 30 November 2024

5.0 out of 5 stars So much more to judge than paper quality

J. · 22 February 2021

Omg, forget about the quality of paper. The information is essential information for a developer on a journey of cleancode. If you destroy this nook because you've read it too much then well-done. I found this version much more accessible because it's thinner but much more amazingly has coloured printing, which I've found so much better than the original and defines the sections much easier. So much better than a lot of material out there.

5.0 out of 5 stars Great book.

C.S. · 25 April 2021

A bit advanced, but great book for life.

5.0 out of 5 stars Excellent book

P. · 20 February 2019

I would advised even the most seasoned software engineer to give this a visit. The examples are great.

Excelente libro

R. · 26 January 2023

Muy buen libro, desde las primeras páginas me dio tips para realizar refactor en mis proyectos.

Well worth having

A.カ. · 6 June 2021

Be careful with the paper, as it’s quite thin. Overjoyed with the contents of the book though, it’s going to serve me well for many years I’m sure.

Interessant

S.S. · 31 December 2025

Der Beschenkte war begeistert von dem Buch. Sehr informativ für ihn.Ist aber zu beachten, dass es auf Englisch verfasst wurde, da Original.

good read

A.C. · 30 December 2020

quality is fantastic.

Read this right now. It will change your behaviour.

w.o. · 16 December 2023

I have been in the software development industry for more than 10 years. I met this book 5 years ago, and instantly thought I wish I had this book earlier in my career. Oh well, you can't turn back the clock.Since then, I have kept recommending this book in my community. I even bought some copies for young developers to help their growth.

More from this brand

Similar items from “Design Patterns”