Great code clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence. But great code doesn't just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck--known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development--focuses on these critical decisions, unearthing powerful “implementation patterns” for writing programs that are simpler, clearer, better organized, and more cost-effective.
Beck identifies 77 new patterns for handling everyday programming tasks and writing more readable code. These new patterns address many areas of development, including class, state, behavior, method, collections, frameworks, and more. You'll find better solutions for handling everything from naming variables to checking exceptions. He uses diagrams, stories, examples, and essays to present each pattern in the most illuminating way possible.
Review By: Jon D. Hagar 08/18/2008
"Implementation Patterns" will be a good addition to bookshelves of new and experienced developers for many years to come. It is not the kind of book one would usually sit down and read from cover to cover; many sections make a good stand alone read. The book is not a long tome, and it will make a good desk reference to useful patterns which you might place in your next piece of software. Further, if the concepts expressed in the book were to be used in refining and distilling common patterns of a production project, one might realize better communication and decreased longer term costs.
The book contains useful stories and examples, as well as code fragments with diagrams to make the book user friendly. The insights into OO concepts such as methods and classes structures can benefit traditional and OO based programming. The book should also be of interest to people working in the agile software world. There is nothing fancy or theoretical here, but there is some very sound and usable thinking on how programmers can come to better understand software.
Kent Beck is one of the better known names in the industry. He's worked on methodologies for years and most recently, after working with others, gave us many of the agile concepts including TDD and Extreme Programming. He clearly is thinking how programmers and engineers can realistically work to improve their art, without lots of heavy weight material.