Effects And Purity

Separates pure decision logic from I/O so code is testable without heavy mocks — without demanding religious purity. Use when a function both computes and writes to a DB, network, or log; when datetime.now()/random()/fetch() are called inline inside business logic; when a unit test needs five mocks to run; when reviewing code that tangles "what to do" with "do it." Triggers: "this is hard to test," "I need to mock the clock," "how do I test this without a DB," "pure function," "side effects," "functional core," "inject the dependency." NOT a trigger for: making everything pure, banning mutation, or wrapping simple code in monads.

manutej fd83536 7.3 KB Updated

File contents

manutej/craft/tree/main/skills/effects-and-purity commit fd835363aa

Frequently asked questions

npx skillmds@latest add manutej/effects-and-purity