Perhaps 3 stars is a bit low, but there is no 3.5, so that's my rating.
Mr. Stephens is obviously an experienced VB coder, and I was hoping to find in this book some advanced coding patterns, based on his experience. In particular, I believe the book summary mentioned advanced object coding, so I was looking forward to some really in-depth discussion about advanced coding methods for objects.
I would describe this book as something akin to Code Complete, but focused on VB. It contains a series of chapters on what (in the author's opinion) is the BEST way to code certain aspects. For example, the best naming conventions.
From the description, my assumption was that this book is for "elite" programmers, who have exhausted all "advanced" books, and are ready for the heavy-duty code examples and techniques.
However, after reading the book, I would say that it would be best for programming groups or departments to use as required reading for their VB programmers. If everyone in a department adhered to the conventions in this book, they would be creating some very solid code.
I hope that Mr. Stephens continues writing advanced books about VB, because he obviously has some very good experience with it. I would really like to see him put together (for example) an object-oriented data access layer (DAL), and then explain it, in 2-3 chapters. The best example of that, but not written for VB, can be found in the Manning book called "ASP.NET Web Parts in Action". It is a very unexpected treasure to find that code in the beginning of that book, and I'd love to see a VB book cover a few *very advanced* topics like that.
I hope this review does not come off as overly negative, because that's not my intent. It is a good book for its purpose. I just didn't see that purpose matching with the summary of what to expect.