Add to library
You don't have any lists yet. Create one in My Library.
Go to My LibraryAdd to library
You don't have any lists yet. Create one in My Library.
Go to My LibraryRefactoring Improving the Design of Existing Code
- Language
- English
- Published in
- Publisher
- Addison-Wesley Professional
- Pages
- 431
- ISBN
- 9780201485677
Subjects
No discussions yet for this book.
Delete Discussion
Are you sure you want to delete this discussion? This action cannot be undone.
Rating Sources
The book is widely praised as a comprehensive and highly practical guide to refactoring, offering a well-organized catalog of techniques that significantly improve code readability, maintainability, and design. Reviewers appreciate its clear, concise writing style and step-by-step instructions, which make complex concepts accessible and applicable to real-world projects. Many highlight its effectiveness in formalizing existing good practices and providing a common vocabulary for developers. The second edition, in particular, is noted for its updated JavaScript examples, which are often found to be clear, concise, and broadly applicable across various object-oriented languages. Readers commend the book for offering philosophical insights into code quality, the importance of testing, and the continuous evolution of software, making it a foundational text for understanding how professionals approach code improvement, especially in legacy systems.
Despite its strengths, the book faces criticism, particularly regarding its relevance for experienced developers. A recurring point is that many of the detailed mechanical refactoring steps, especially in the first edition, have become automated by modern Integrated Development Environments (IDEs), rendering some sections less necessary. Consequently, some experienced readers find the content too basic or a formalization of already common-sense practices. The first edition is also noted for being outdated in its discussions of tools and specific programming language examples. While the second edition updated its examples to JavaScript, some reviewers found this choice questionable, arguing that a weakly typed language sometimes less effectively illustrates certain concepts. Additionally, some readers found the book's structure confusing, with terminology introduced before being fully explained, and a few critiques mentioned the physical print quality, specifically thin paper.
Overall, the book is considered an essential and timeless resource for anyone looking to improve their software development craft. It excels as a reference manual, providing a robust catalog of code improvement techniques that developers can revisit throughout their careers. It is highly recommended for junior developers, computer science students, and those with limited experience who want to build a solid foundation in code quality and design principles. While experienced developers might find some introductory sections elementary, many still value it for reinforcing concepts, providing a standardized lexicon, and serving as a handy, practical guide for tackling complex codebases. Ultimately, it remains a must-read for fostering a mindset of continuous code improvement and writing adaptable, higher-quality software.
No reviews yet. Be the first to review this book!
Delete Review
Are you sure you want to delete this review? This action cannot be undone.







