Wanted, book recommendation

A nephew is in his 3rd semester of Java in college. In a phone call he was asking about things that would make it easier to see what is going on or how things work.

I mentioned the concept of “Clean Code” a la Robert C. Martin, where emphasis is on readability and maintainability.

I also mentioned that I make heavy use of pencils and erasers, drawing pictures of things.

I’m thinking of getting him a gift copy of “Clean Code” but am wondering if a 10-year old software book is really on target. Is there a more recent book that also does a good job of covering this material?

Related question:
Any opinions as to merits of “Effective Java III” vs “Effective Java II”?

Some books last the test of time, they are rare but they do occur.

There are 4 books in my bookshelf that i’d consider books that have lasted the “test of time”

  1. Real-Time Collision Detection
  2. Mathematics for 3D Game Programming and Computer Graphics
  3. Game Engine Architecture
  4. Security Analysis (non programming related)

Although i’ve never read “Clean Code”, if you think it’s a resource that has lasted the test of time and contents are still as relevant today as they were when the book was published, go ahead and gift it, much better than a resource which becomes outdated/obsolete within a year or two.

I’ve never read “Clean Code,” but I think along a related line, I would also recommend checking out Head First Design Patterns. I thought that nearly all of it was a valuable read. It gives a nice overview of good practices and some (I think about 12) GoF design patterns. Being able to identify some module of code as following a certain design pattern really helps me understand the structure of the code better, which should help your nephew out.