# Pattern Consistency

Record: `arch: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#arch-pattern-consistency

## 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/lex/review.md), scaffolding

## requires

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

## reinforces

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

## enables

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

## conflicts-with

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

## tensions-with

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

## tensions

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

## referenced-by

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