red-flags
Review a software design for complexity with the red flags and principles of Ousterhout's A Philosophy of Software Design. Rank the findings by how often each part is touched and what touching it costs. Use when reviewing a module, an API, an architecture or a refactoring plan. Use when an interface feels wrong, when a module might need splitting or merging, or when a name will not come. Use when there are too many layers, or when one change touches too many places. Use when someone asks whether an abstraction is right, or says the code feels tangled. Each finding cites its chapter. Where the book is disputed in a text that was read, the finding carries the other side.
- License
- MIT
Pinned to revision c0cf3006b4e2, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/red-flags/SKILL.md
- skills/red-flags/references/complexity.md
- skills/red-flags/references/decisions.md
- skills/red-flags/references/positions.md
- skills/red-flags/references/principles.md
- skills/red-flags/references/red-flags.md
- skills/red-flags/references/sources.md
Every link opens the file at its source, pinned to the revision this page describes.