# Patterns and Anti-Patterns **Last Updated:** 2026-04-05 Capture recurring implementation patterns that impact compile stability. ## Pattern Entry Template - **Context:** where this applies - **Good pattern:** concise example/description - **Anti-pattern:** concise example/description - **Why it matters:** one sentence ## Starter Patterns 1. **NT8 override signatures** - Good pattern: copy exact signature from official NT8 docs before coding. - Anti-pattern: infer or copy from outdated examples. - Why it matters: prevents `CS0115` and runtime integration drift. 2. **Access modifier on overrides** - Good pattern: use `protected override` for NT8 lifecycle/event methods. - Anti-pattern: `public override` or `private override`. - Why it matters: prevents `CS0507`. 3. **C# 5 compatibility discipline** - Good pattern: `string.Format`, explicit null checks, block-bodied members. - Anti-pattern: string interpolation, null-conditional, expression-bodied members. - Why it matters: prevents avoidable language-version compile failures. 4. **Managed order sequencing** - Good pattern: set stop/target before entry on the same bar. - Anti-pattern: entry first, then stop/target. - Why it matters: avoids silent behavior defects and rejected assumptions. 5. **Scope-first fixes** - Good pattern: smallest safe change in scoped files only. - Anti-pattern: broad cleanup or adjacent-file edits during bugfix. - Why it matters: reduces regression risk and review churn.