Why this matters
Private or `file`-scoped classes that are never inherited should be explicitly marked as `sealed` to indicate they are final.
Check if private or `file`-scoped classes that are never inherited are explicitly marked as `sealed` to indicate they are final.
Private or `file`-scoped classes that are never inherited should be explicitly marked as `sealed` to indicate they are final.
Side-by-side examples engineers can pattern-match during review.
private class MyClass // Noncompliant
{
// ...
}
private record MyRecord // Noncompliant
{
// ...
}private sealed class MyClass
{
// ...
}
private sealed record MyRecord
{
// ...
}private class MyClass // Noncompliant
{
// ...
}
private record MyRecord // Noncompliant
{
// ...
}private sealed class MyClass
{
// ...
}
private sealed record MyRecord
{
// ...
}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.