Posts

How we improved Packagemap query performance by 4x

Packagemap is a powerful tool that allows you to explore maps of your Java codebase. Its query language lets you filter your code and drill down to specific classes, methods, and their interactions. However, as the complexity of your queries increases, the tool’s performance can suffer.

In this blog post, we’ll discuss how we used Go profiling tools to diagnose performance issues with Packagemap’s query execution, and how we improved its performance by building a custom wildcard matcher to replace regular expression parsing.

Common code coupling mistakes

What is code coupling? And how to avoid the common mistakes

Code coupling is the degree to which two software modules or packages depend on each other. In this post we describe coupling and the common mistakes that lead to coupled code.

How to structure a Java codebase

Best practice for Java codebases, use domain driven design

When you build a software application — no matter if it’s a web app, cli tool, or desktop software — your application is trying to solve some problem. This problem is the ‘domain’ of your application. The ‘domain’ is just the sphere of your application operates in. The knowledge it embeds, and the problem it solves.