
fficient coding practices are hard to develop and even harder to maintain. Most likely, your coding process suffers from one of two problems: Your code throws an exception or otherwise breaks and you don't know where the error occurred, or you have tried to write debugging code, but its inefficiency has affected the performance of your application (perhaps without you even being aware of it).
This month's article will take a slightly different approach from what you might be accustomed to reading. Rather than simply explain how to write a particular piece of code, or use a design technique, I will present a simple case study quantifying the increased efficiency that my debugging techniques yield.
The subject matter covered in this article is aimed at midsenior level java developers who have tried to develop a coherent debugging strategy or are interested in fine-tuning their existing one.

The problem is two-fold. First, every application can benefit from a well-designed debugging strategy, but few applications have one. And second, most debugging strategies contain wasteful overhead that degrades application performance.

Design a consistent, flexible debugging strategy that is scalable and maximizes efficiency.