Codebase Design

Module design discipline from John Ousterhout's A Philosophy of Software Design, depth as the metric (a lot of functionality behind a simple interface), information hiding vs. leakage, the concrete red flags that mark a shallow module, and comparing at least two designs before committing. Use when designing a new module or class, deciding where an interface boundary (seam) should go, reviewing a design for unnecessary complexity, or asking whether something should be split or merged.

aethrox Updated

File contents

aethrox/doctrine/tree/main/skills/codebase-design commit 5052610ae9

Frequently asked questions

npx skillmds@latest add aethrox/codebase-design