Summary
Knowing about anti-patterns and their identification can have a big impact on the viability of an application, especially when it comes to distributed systems. This chapter has shown that not knowing the Java platform and its tools well enough can lead to unexpected results, such as intense pressure on garbage collection algorithms running on side threads and missing out on optimization opportunities. Realizing the multi-threaded nature of the Java platform can lead to proper code composition, but also to proper use of immutability to enable continuous application development, that is, refactoring.
Since most anti-patterns have a lack of testing as one of their root causes, a test environment might be the best starting place to determine the occurrence of anti-patterns or the need for refactoring. Compiled test code does not reside in deployed code, which makes test code the best place to start for future exploration and understanding your application’s behavior.
...