Architecture Notes

Collection of software development notes related to architecture.

Code Quality Checks for LLM-Generated Code: The Missing Layer

Automated code quality tools need to evolve for the age of LLM code generation. Linters catch style and complexity, but the real quality gap is in module coupling, interface design, and dependency structure. Learn what existing tools miss and what a better approach looks like.

llmcode-quality

Domain-Driven Design: Defining and Enforcing Domain Invariants

A practical guide to making Domain-Driven Design work by defining domain invariants and enforcing them through code. Covers why most teams skip this step, how to design interfaces that prevent invalid states, and how to recognize when a codebase is truly following DDD.

domain-driven-designsoftware-architecture

Hexagonal Architecture for Testability: Imperative Shell, Functional Core

Stop fighting mock-heavy, brittle tests. Hexagonal Architecture separates business logic from databases and IO, and the Imperative Shell, Functional Core pattern makes that boundary explicit. Includes a concrete before-and-after example in Java.

testinghexagonal-architecture