Why this matters
Reduces coupling and preserves invariants.
Use private fields with accessors; expose the narrowest visibility that satisfies usage.
Reduces coupling and preserves invariants.
Side-by-side examples engineers can pattern-match during review.
public String internalState;private String internalState; public String getInternalState(){ return internalState; }public int x;private int x;From the same buckets as this rule.
For changes that affect architecture, data models, external APIs, security posture, deployment topology, or cost (>10%), create an ADR in docs/adr/ using the standard template (Context, Decision, Consequences) and link the PR and issue IDs.