24 May №18 TDD Isn't About Bugs — It's Your Permission to Refactor Three years ago, I had a crisis of confidence with test-driven development. Software design & testing 7 min
30 Jun №24 Value Objects & Entities in TypeScript: Building Blocks That Can't Break Last time, I showed you how TDD gives you permission to refactor. But there’s a problem I glossed over: what happens when the same validation rule appears in five different places? Software design & testing 15 min
7 Jul №27 TypeScript DDD Aggregates & Repositories Last time, in Value Objects & Entities - Building Blocks That Can’t Break, we made invalid states impossible for a single User. Email validates itself. Age validates itself. The User entity composes them and manages identity. Software design & testing 15 min
16 Jul №31 Repository Updates in TypeScript: Locks and Optimistic Concurrency The earlier Aggregates & Repositories article deliberately kept persistence small. This article builds on its Order, Result, and snapshot examples to handle two requests changing the same aggregate. Software design & testing 8 min
21 Jul №33 DDD Aggregate Boundaries and Persistence in TypeScript The previous articles — Value Objects & Entities and Aggregates & Repositories in TypeScript in particular — made a few choices without naming them: Order owns its lines, only OrderRepository persists them, and a customer appears in an order as an ID rather than as a loaded object. Software design & testing 9 min
26 Jul №36 I Stopped Mocking Everything in TDD I once spent three hours debugging a test that was 80% mock setup. Software design & testing 12 min
29 Jul №38 The Result Pattern: Why I Stopped Throwing Exceptions Every production Node app has seen an Unhandled Exception crash the process. If exceptions are so great, why does every function have an invisible contract that says “I might throw, good luck figuring out what”? Software design & testing 10 min
1 Aug №40 TDD in the Age of AI: Who Tests the Tests? I use Codex and Pi daily. They write code faster than I can read it. Lines appear on my screen in seconds that would have taken me twenty minutes to type. Software design & testing 8 min