London and Detroit schools of unit tests
London and Detroit schools are two popular ways of writing unit tests for our applications. They differ in several details, notably the answer to the question “what is a unit”. It’s likely that you already know them, just not by their names. We may think that they compete with each other, however each has its […]
A word on recent Slf4j and Spring incompatibility
Slf4j is a popular logging facade for Java ecosystem. It separates libraries from the logging backend by providing a common logging API. It is the developer who picks up the actual backend. This setup has been working great for years. Many developers have already forgotten, how shattered the world of Java was in its early […]
Maintainable documentation
Problems with keeping the documentation up-to-date are one of the reasons why we – programmers – don’t like writing it. At the same time, we don’t like when it is missing. However, this doesn’t have to be the case. I have always strived to document my projects and avoid “tribal knowledge” problems. Here, I would […]
Architecture Decision Records: 3 keys to success
Software architecture is an art of decision making. As the project grows over time, we need to correct and change our past choices. However, their consequences can be still seen many months later. Architecture Decision Records (ADR-s) help us recording and managing technical decisions. In recent years, I introduced ADR-s in two projects, and watched […]