On Twitter the other day I saw a tweet from Dave Carroll giving a great review for Dan Appleman’s new book “Advanced Apex Programming”. Dave is someone who’s opinion I trust so I went a bought a copy, read it, had a think, wrote some annotations and thought I would write a review to share.
A full review is posted below with lots of details on some of the things I did (and didn’t) like. The short version is:
if you are an intermediate level or above apex developer (1-2 years experience) then go and buy yourself a copy. Read it carefully, think about what is being said and make some notes. You will learn a few things and it will make you think about how you are coding. 8/10 or 4 stars.
Okay, so you want to read the gory details?
To start with, Dan’s writing style is extremely approachable and easy to follow. You get what he is saying. the book is well structured and seems to go in a logical order. Code samples are easy enough to understand and have a good level of explanation. One small issue (not really Dan’s fault) is that due to the physical size and layout of the book, you occasionally get squashing and code over multiple pages. It is not a big problem and almost every programming books has a page of two that suffers from this, and as someone who prefers paper over pdf, I will accept it no worries. For those who might want another option, you can download the sample code and could read that on your screen alongside the book.
I am going to be honest and say there were certain things I didn’t agree with in terms of what Dan says are best practices. I won’t go into too many specifics here as I want people to make up their own minds, but I just always feel it is important to highlight that this book should not be read as a definitive patterns guide. Dan is quite open about this in the book and I would imagine most experienced developers and architects will disagree with some things.
For me this is however the books biggest positive as well. The currently available Force.com books are largely aimed at the newbie and beginner level developers with some covering of intermediate level stuff. This is the first book out there for more experienced developers and it is a welcome addition to the collection. Outside of conferences like Dreamforce/Cloudstock and local developer groups it is difficult to find somewhere to get this information in a centralised nicely presented format. I really liked Dan’s section on errors and debugging, and have adapted some of the ideas to place into my work in the future. It is a brilliant book and I hope more follow.
In summary, I really would highly recommend this book to intermediate and experienced apex developers. You may not agree with all of the book but it will make you think about why you code as you do and why you agree/disagree with what is written. And you will learn something new about the apex language. Worth every penny!