Working Effectively with Legacy Code
by Michael Feathers
Agile Principles, Patterns, and Practices in C#
by Martin C. Robert; Martin Micah
Working Effectively with Legacy Code
by Michael Feathers
Becoming Agile: ... in an imperfect world
by Greg Smith; Ahmed Sidky
Beautiful Code
by Andy Oram; Greg Wilson
This is the Safari online edition of the printed book.
Even bad code can function. But if code isn’t clean, it
can bring a development organization to its knees. Every year,
countless hours and significant resources are lost because of
poorly written code. But it doesn’t have to be that
way.
Noted software expert Robert C. Martin presents a revolutionary
paradigm with Clean Code: A Handbook of Agile Software
Craftsmanship. Martin has teamed up with his colleagues
from Object Mentor to distill their best agile practice of cleaning
code “on the fly” into a book that will instill within
you the values of a software craftsman and make you a better
programmer—but only if you work at it.
What kind of work will you be doing? You’ll be reading
code—lots of code. And you will be challenged to think about
what’s right about that code, and what’s wrong with it.
More importantly, you will be challenged to reassess your
professional values and your commitment to your craft.
Clean Code is divided into three parts. The first
describes the principles, patterns, and practices of writing clean
code. The second part consists of several case studies of
increasing complexity. Each case study is an exercise in cleaning
up code—of transforming a code base that has some problems
into one that is sound and efficient. The third part is the payoff:
a single chapter containing a list of heuristics and
“smells” gathered while creating the case studies. The
result is a knowledge base that describes the way we think when we
write, read, and clean code.
Readers will come away from this book understanding
How to tell the difference between good and bad code
How to write good code and how to transform bad code into good code
How to create good names, good functions, good objects, and good classes
How to format code for maximum readability
How to implement complete error handling without obscuring code logic
How to unit test and practice test-driven development
This book is a must for any developer, software engineer,
project manager, team lead, or systems analyst with an interest in
producing better code.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 46 Ratings
Good stuff -- *UN*common sense. - 2009-10-07
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Another reviewer stated that most of this book was "common sense". However, he either didn't read the whole book (usually the case) or he works only with people who have. The focus of the book is pouding the concept into your head first THAT you need clean code and then HOW you write clean code. It's starts as easy, light read but it slowly changes into a compelling case study ... usable by any developer in any OO language. While I agreed with many of the concepts in the book before I read it, it still seemed that it was good for other people, not necessarily me. NOW, I'm a true believer and you probably will be too!
Recommended to any developer ... highly recommended for any developer that doesn't work alone. The only real downside is that the book's sample code is almost exclusively Java. However, most OO coders can read other languages even if they can't write in them.
Solid Principles and Advice for Any OO Developer - 2009-09-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book provides some really good principles that all developers can benefit from using. If you have been developing software for any length of time, then some of the principles and techniques laid down in this book will not be very shocking. But even if that is the case it is still a good refresher course. After awhile if we are exposed to really bad code sometimes if wears off on us and this book can help you to shake off some of those bad habits you may have picked up. For myself, I found that this book really hits the nail on the head when it talks about the importance of readability and good OOD. As a developer that has maintained many legacy applications, I can appreciate the clear understanding these authors have of writing code that is not only functional but is maintainable. I also like how the authors walk you through the exercise of cleaning bad legacy code. It really helps you learn the principles that are discussed in the first part of the book. I also found the code snippets in the book to be very helpful and did not find many mistakes. In general I would recommend this book to both new OO developers and even experienced OO developers just looking for some fresh insight into our craft.
A must to read for all programmers - 2009-11-21
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book is one of the best books about programming I have ever read. Follow the suggestions in this book and you will develop 100% as a programmer.
Great rules to follow - 2009-10-15
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
It definitely teaches me how to write a better and clean code. Following these rules would save a lot of maintaining time and efforts. Good code comes from the beginning.
Thank the authors.
Excellent - 2009-07-28
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book definitely changed my outlook on writing code. It does an excellent job at explaining and clearly demonstrating the importance of clean code - separation of abstraction levels, recognition and removal of common smells and constant reevaluation and improvement of system in question.
Highly recommended.
Top Level Categories:
Software Engineering
Sub-Categories:
Software Engineering > Process
Software Engineering > Quality
Some information on this page was provided using data from Amazon.com®. View at Amazon >