# Pattern Consistency

> The degree to which one kind of problem is solved with the same pattern throughout a codebase.

Record: `architecture:pattern-consistency`
Kind: quality-attribute
Layer: [Evolution Principles](https://banes-lab.com/records/layer/evolution-principles.md)
Severity: recommended
Scope: codebase, system
Canonical: https://banes-lab.com/ontology#architecture-pattern-consistency

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Reference Architecture](https://banes-lab.com/records/architecture/reference-architecture.md) and before [Architectural Consistency](https://banes-lab.com/records/architecture/architectural-consistency.md).

## Repair

- Refactored by: Normalize Pattern, Extract Shared Convention
- Detected by: inconsistent implementations of same concern
- Violated by: same problem solved with incompatible patterns
- Measured by: pattern variance count
- Enforced by: linting, [review](https://banes-lab.com/records/lexicon/review.md), scaffolding

## Requires

- [Naming/Structure Conventions](https://banes-lab.com/records/lexicon/naming-structure-conventions.md)

## Reinforces

- [Predictability](https://banes-lab.com/records/architecture/predictability.md)
- [Maintainability](https://banes-lab.com/records/lexicon/maintainability.md)

## Enables

- [Easier Refactoring](https://banes-lab.com/records/lexicon/easier-refactoring.md)

## Conflicts with

- [Ad-Hoc Pattern Mixing](https://banes-lab.com/records/lexicon/ad-hoc-pattern-mixing.md)

## In tension with

- [Local Optimization](https://banes-lab.com/records/lexicon/local-optimization.md)

## Tensions

- [Pattern Consistency / Local Optimization](https://banes-lab.com/records/tension/local-optimization-pattern-consistency.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/records/architecture-category/architecture-review-evolution-governance-artifacts.md)

## Reinforced by

- [Architectural Consistency](https://banes-lab.com/records/architecture/architectural-consistency.md)
- [Convention over Configuration](https://banes-lab.com/records/architecture/convention-over-configuration.md)

## Linked from

- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/ontology/principles/architecture-category-architecture-review-evolution-governance-artifacts.md)
- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/architecture-category-metadata-self-description-declarative-systems.md)
- [Architecture Review Evolution Governance](https://banes-lab.com/ontology/lexicon/lexicon-category-architecture-review-evolution-governance.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
