- Paperback: 84 pages
- Publisher: O'Reilly Media; 1 edition (April 8, 2012)
- Language: English
- ISBN-10: 1449313892
- ISBN-13: 978-1449313890
- Product Dimensions: 7 x 0.2 x 9.2 inches
- Shipping Weight: 6.7 ounces (View shipping rates and policies)
- Average Customer Review: 3.8 out of 5 stars See all reviews (35 customer reviews)
- Amazon Best Sellers Rank: #1,151,197 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Code Simplicity: The Fundamentals of Software 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently Bought Together
Customers Who Bought This Item Also Bought
The Science of Software Design
About the Author
Max Kanat-Alexander, Chief Architect of the open-source Bugzilla Project, Google Software Engineer, and writer, has been fixing computers since he was eight years old and writing software since he was fourteen. He is the author of http://www.codesimplicity.com/ and http://www.fedorafaq.org, and is currently living in Northern California.
Top Customer Reviews
The book has 9 short chapters and then 2 appendixes that summarize the laws and 'facts' about software development. The second chapter sets the tone of the rest of the book as it claims that one of the main problems in software design is the lack of science. Science, it says, is based on laws and the laws of software development haven't been described and the (humble) author will share with the reader these laws.
The laws described are definitively not bad. Chapter 3 explains that software is always build to "help people" which ought to be the driving force of all design decisions. The next chapter shows that maintenance will cost more than the initial build cost and that design decisions ought to be done with that in mind. Chapter five explains 3 common pitfalls in making design: Unneeded code, difficult to change code, generic code. The rest of the chapters propose similar generic 'laws' of software development and design.
Most of the time, the author does a decent job explaining software design principles, yet at times I had to strongly disagree with the author. In chapter 2 he strongly seems to advocate strict code ownership by stating "all developers should have the authority to make good design decisions in their own area" but then goes on that they can be vetoed by more senior developers (?). Also he seems to promote designing in isolation by stating "any given decision must be made by an individual, not by a group of people" which I personally do not agree with.
Anyways, overall I found the book unsurprising and just basic. It wasn't bad and I would have definitively rated it 3 stars if it wasn't for... the title. IMHO, the title is horribly confusing as the book contains nearly no code at all and it doesn't show how to make focus on simple code except for the fairly abstract laws. I bought the book with the expectation to see some complex code and the author explaining why it was complex and how to make it more simple, but no.. nothing like that at all. If the book ought to be called "the laws of software design" (and then I would probably not buy it) but it shouldn't be called "code simplicity". For that reason, 2 stars. Not recommended.
Was definitely worth the time and money.
There is a section that is also nicely summarized in a back appendix about how to calculate the value of a change.
Most Recent Customer Reviews
Not worth the money or the time spent reading.