views:

238

answers:

4

Is there any book that covers and explains the following things well altogether?

  • Software Engineering with Java in general, the concept and what to notice ... etc
  • life cycle with java
  • commonly practiced developing methods
  • Best Coding Convention
  • Version Control (and tools)
  • Builds (and tools)
  • tests (I think it's Junit here)
  • Code Review (optional)

I think it takes all these together to run an organized java project, right?

+4  A: 

How much of this would you expect to be Java-specific? Coding conventions for sure, testing probably because the set of Java-specific available tools is rich and interesting.

Much of the rest is just Software Engineering. It would be a big ask to have a single book to cover both the deep details of specific Java stuff and the overaching software engineering principles. My feeling is that you would do best to seek strong Software Engineering material (and even there a single book is asking a lot) and then look at the standard "Effective Java" kind of stuff for language specific details.

Added: you ask for suggestions. Joel's reading list is hard to beat. The Mythical Man Month is really interesting - remarkable how timeless such wisdom is.

djna
Thanks, I have that book. But the thing is that most software engineering book are way too academic. I am not interested in building a rocket before I can actually build a car. Do you have any suggestion on some basic practical software engineering books?
Winston Chen
+2  A: 

Clean Code by Uncle Bob, might be a good idea.

Adeel Ansari
It covers many of these, if not all.
Adeel Ansari
Nice.. I will check it out. Thanks.
Winston Chen
+1  A: 

Head first software development covers most of your issues providing examples with JAVA.
It's concise and has many examples and pictures and it's definitely an easy read.
It's good if you need to get the bigger picture,but you would probably need other books as well to get into the details.

http://www.amazon.com/Head-First-Software-Development-Pilone/dp/0596527357

mic.sca
Thanks, I got the book. It's an interesting read.
Winston Chen
+2  A: 

I wish there was just one book. :)

Effective Java is still the best on code conventions and best practices -- I know that's only a small part of what you're asking for, but it's enough to fill 300 pages.

Feathers' Working Effectively With Legacy Code is the best down-and-dirty unit-testing cookbook I've ever seen, though you wouldn't know it from the title. It's not Java-specific but a lot of the examples are in Java.

David Moles