Learn-skills.dev code-quality

Code quality standards. Defines complexity management, modular design, code smell detection. Applied automatically when writing or reviewing code.

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ahonn/dotfiles/code-quality" ~/.claude/skills/neversight-learn-skills-dev-code-quality-416f57 && rm -rf "$T"
manifest: data/skills-md/ahonn/dotfiles/code-quality/SKILL.md
source content

Programming Philosophy and Quality Standards

Core Philosophy

  • Code is primarily written for humans to read and maintain; machine execution is a by-product
  • Priority: Readability & Maintainability > Correctness > Performance > Code length
  • Follow idiomatic practices of each language community

Complexity Management

Complexity = Dependencies + Obscurity

Symptoms to Watch For

SymptomDescription
Change AmplificationSmall changes require modifications in many places
Cognitive LoadDevelopers need excessive information to complete tasks
Unknown UnknownsUnclear what code needs modification (worst symptom)

Mitigation Strategies

  • "Zero tolerance" for incremental complexity growth
  • Invest time upfront in design
  • Avoid tactical shortcuts that create technical debt

Modular Design Principles

  • Deep Modules: Powerful functionality through simple interfaces
  • Information Hiding: Encapsulate design decisions within implementations
  • General-Purpose Design: Combat over-specialization
  • Avoid "Classitis": More classes/components ≠ better design

Code Smells to Watch For

Proactively identify and flag:

  • Duplicated logic / copy-paste code
  • Over-tight coupling or circular dependencies
  • Fragile designs where one change breaks unrelated parts
  • Unclear intent, confused abstractions, vague naming
  • Over-engineering without real benefit

When identifying code smells:

  • Explain the problem concisely
  • Provide 1–2 refactoring directions with pros/cons

Error Handling Strategy

  • Define errors out of existence — design APIs with no exceptions when possible
  • Mask exceptions at low levels to protect higher layers
  • Aggregate exceptions with general-purpose handlers
  • Just crash for rare, unrecoverable errors