Files
2025-11-29 18:32:18 +08:00

2.8 KiB
Raw Permalink Blame History

name, description
name description
fundamental-coding-principles Apply SOLID, DRY, KISS, YAGNI, and SSOT principles when writing, reviewing, or refactoring code to ensure maintainability and quality.

Fundamental Coding Principles

Apply this skill to keep code changes focused, testable, and maintainable.

Quick Checklist

  • Confirm each edit has a single purpose before coding.
  • Ruthlessly remove duplication or dead paths you touch.
  • Only add behavior backed by an explicit requirement.
  • Prefer simple, composable solutions over clever ones.
  • Keep truthy data and decisions in one authoritative place.

Principle Guardrails

SOLID

  • S: Validate the change impacts one reason to vary; split helpers if mixed concerns appear.
  • O: Extend behavior through new types or functions rather than rewriting stable code paths.
  • L: Ensure new subtype logic preserves caller expectations (inputs, return contracts, exceptions).
  • I: Create targeted interfaces; avoid forcing consumers to implement unused members.
  • D: Depend on abstractions or injected collaborators; eliminate hardwired globals where possible.

DRY

  • Scan for repeated logic, constants, or schemas; consolidate into shared utilities before finishing.
  • Prefer extracting reusable modules over copy-pasting even inside the same file.

KISS

  • Trim optional branches, flags, and polymorphism unless they solve todays requirement.
  • Keep functions short and state minimal; decompose complex flows into readable steps.

YAGNI

  • Challenge every new feature, parameter, or hook: is there a verified need right now?
  • Defer premature abstractions until duplication or clear requirements emerge.

SSOT

  • Update or create the canonical definition (config, schema, doc) when data models change.
  • Remove divergent caches or mirrors unless you enforce sync in the same change.

Reference Playbooks