# Make Effects Explicit

> A technique for moving input, output and mutation to named boundary operations, so the code between them stays pure.

Record: `lexicon:make-effects-explicit`
Kind: technique
Layer: [Computation Core](https://banes-lab.com/records/layer/computation-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-make-effects-explicit

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Thread Safety](https://banes-lab.com/records/lexicon/thread-safety.md) and before [Pass Context Explicitly](https://banes-lab.com/records/lexicon/pass-context-explicitly.md).

## Category

- [Correctness / Determinism / Verification](https://banes-lab.com/records/lexicon-category/correctness-determinism-verification.md)

## Refactors

- [Hidden Side Effect](https://banes-lab.com/records/architecture/hidden-side-effect.md)
- [Testability](https://banes-lab.com/records/architecture/testability.md)
- [Principle of Least Surprise](https://banes-lab.com/records/architecture/principle-of-least-surprise.md)
- [Controlled Side Effects](https://banes-lab.com/records/architecture/controlled-side-effects.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md)
- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.md)
