37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 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.
|