1 Starting to know your apps
This chapter covers
- Troubleshooting and why you should learn it
- The definition of a code investigation technique
- Code investigation techniques used to understand Java apps
Software developers have various responsibilities. Most of these responsibilities depend on how they understand the code they are working with. They also spend a significant amount of time analyzing code to identify and resolve problems, implement new capabilities, and learn new technologies. Because time is precious, developers need efficient investigation techniques to be productive. Learning how to be efficient in understanding your (or others’) code and how your apps execute it is the main topic of this book.
I recall a quote from Robert C. Martin’s book, Clean Code: A Handbook of Agile Software Craftsmanship (Pearson, 2008). He said, “Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. . . . [Therefore,] making it easy to read makes it easier to write.” Well, I believe there is much more to add here besides reading the code. The real deal is to investigate the code, and we combine several techniques to do that.