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

Description:

About this item:

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.

Review:

4.9 out of 5

98.46% of customers are satisfied

5.0 out of 5 stars Thoughtful and engaging

W.Y.D. · 26 April 2019

(function() { P.when('cr-A', 'ready').execute(function(A) { if(typeof A.toggleExpanderAriaLabel === 'function') { A.toggleExpanderAriaLabel('review_text_read_more', 'Read more of this review', 'Read less of this review'); } }); })(); .review-text-read-more-expander:focus-visible { outline: 2px solid #2162a1; outline-offset: 2px; border-radius: 5px; } 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 Timeless content impeccably printed

C. · 30 November 2024

4.0 out of 5 stars A welcome revision to a classic software development book

J.C. · 16 January 2019

I was a mere junior developer when the first edition came out, and remember it having a profound effect on my approach to software development at the time. I was a bit unsure whether the book needed a revamp, as the original still holds up well, but Martin Fowler has done an excellent job of this new revision: ditching the use of Java for lowest common denominator JavaScript (the language choice is pretty much immaterial anyway), reworking the examples and refactorings, and generally building on the experience of the last twenty years. All with Martin's great style and humour.My only gripe is that book looked half the size of the original! This isn't due to an extensive refactoring, but the rather thin, poor quality paper. "Bible paper" as one colleague quipped when they saw it. The thin pages are easily creased or torn, and the ink from the other side of each page shows through slightly. Very disappointing to see this with an Addison Wesley book, especially given the price and the fact the hard cover is the usual robust and high quality binding. I've deducted a star for this, although I nearly deducted two!

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.

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 Excellent book

P. · 20 February 2019

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

5.0 out of 5 stars Great book.

C.S. · 25 April 2021

A bit advanced, but great book for life.

Best buy

F.C. · 9 May 2025

(function() { P.when('cr-A', 'ready').execute(function(A) { if(typeof A.toggleExpanderAriaLabel === 'function') { A.toggleExpanderAriaLabel('review_text_read_more', 'Read more of this review', 'Read less of this review'); } }); })(); .review-text-read-more-expander:focus-visible { outline: 2px solid #2162a1; outline-offset: 2px; border-radius: 5px; } Cercavo qualcosa che mi aiutasse a gestire meglio il processo di destrutturazione del codice, questo libro mi ha aiutato

Excelente libro

R. · 26 January 2023

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

Muy útil

A. · 30 January 2023

Me ha gustado el estilo, es muy ameno y práctico.Todo tiene su lógica y lo estoy aplicando en mi código y en las reviews que hago. Puede que cambie para siempre la forma en la que programo.No puedo dejar de leer y releer. Me ofrece ideas de cómo escribir, probar y revisar código y también propone una nomenclatura para cada tipo de refactor que es un estandar para discutir con otros desarrolladores.

I've received in perfect conditions

A. · 25 May 2025

Perfecto

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.

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

4.6

AED37928

Type: Hardcover

Quantity:

|

Order today to get by

Free delivery on orders over AED 200

Return and refund policies

Product origin: United Kingdom

All product information listed on the site are from 3rd party sources, including images and reviews. bolo.ae is not liable for any claims or promotions mentioned on the product description or images with textual content. For detailed product information, please contact the manufacturer or Bolo support by logging into your account. Unless stated otherwise during checkout, all import taxes and duty are included in the price mentioned on the product page. bolo.ae follows the rules and regulations of sale in United Arab Emirates and will cancel items in an order that are illegal for sale in United Arab Emirates. We take all the necessary steps to ensure only products for sale in United Arab Emirates are displayed. Product stock and delivery estimate may change with the seller even after placing the order. All items are shipped by air and items marked “Dangerous Goods (DG)” by the IATA will be cancelled from orders. We strive to process your order as soon as it is finalized.

Similar suggestions by Bolo

More from this brand

Similar items from “Design Patterns”