It’s no secret to those that know me that I read a lot and spend a lot of time gathering knowledge and honing my craft. I believe I own and have read most of the books on apex and salesforce that are available right now. Advanced Apex Programming by Dan Appleman is definitely the most advanced book for programming on Salesforce and Force.com. Dan’s first edition of the book was released in 2012 – I didn’t read that edition I’ve read the Second and Third edition though and made use of many of the patterns he’s discussed.
One of the first sentences in the book and one of the first sentences on his website is that the book isn’t a rehash of the Salesforce documentation. And guess what, it’s definitely not. The writing is really approachable and for the most part I think a lot of the examples and patterns are really well done. I have applied a bunch of patterns and approaches to my own work over the last few years.
I think my favourite and most useful chapters is the Debugging and Diagnostics Chapters which covers a few different approaches for logging and being able to intelligently debug on the platform. I recommend downloading all of the sample code and reading it on your computer instead of in the book or on the kindle the formatting gets a little bit odd at times.
In summary, I recommend you purchase Advanced Apex Programming if you have less than a few years of experience on the platform and study the patterns and best practices that Dan mentions.