C++ provides many more ways to shoot yourself in the foot than most other languages, so it is in more need of such books.
For coding in C#, Framework Design Guidelines[1] is an excellent book. I'd argue that with a little adjustment for conventions, it applies to Java too - and IMHO Java is in more need of the advice, as test-oriented code can lead to unwieldy, overcomplex APIs, a tendency that needs tempering.
For coding in C#, Framework Design Guidelines[1] is an excellent book. I'd argue that with a little adjustment for conventions, it applies to Java too - and IMHO Java is in more need of the advice, as test-oriented code can lead to unwieldy, overcomplex APIs, a tendency that needs tempering.
[1] http://www.amazon.com/Framework-Design-Guidelines-Convention...