Claude-skill-registry class-organization-and-layout

Organize class members in standard order, separate classes with blank lines, and maintain one-class-per-file structure. Use when designing class interfaces, implementing classes, organizing project files, or establishing OOP coding standards.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/class-organization-and-layout" ~/.claude/skills/majiayu000-claude-skill-registry-class-organization-and-layout && rm -rf "$T"
manifest: skills/data/class-organization-and-layout/SKILL.md
source content

Class Organization and Layout

Apply these principles to create consistent, maintainable class structures.

Class Interface Member Order

When to apply: When defining class interfaces in header files

Present class members in this order:

  1. Header comment: Describes the class and provides overall usage instructions
  2. Constructors and destructors
  3. Public routines
  4. Protected routines
  5. Private routines and member data

Class Implementation Member Order

When to apply: When implementing classes in source files

Organize class implementation in this order:

  1. Header comment: Describes the file contents
  2. Class data
  3. Public routines
  4. Protected routines
  5. Private routines

File-to-Class Relationship

When to apply: When organizing project files (in languages that support multiple source files)

  1. Single responsibility: Each file should contain routines supporting a single, unique purpose
  2. One-to-one relationship:
    • Place only one class per file when language permits (C++, Java, VB)
    • Exception: compelling reasons exist (e.g., several small classes forming a single pattern)
  3. File naming: Relate filename to class name (e.g.,
    CustomerAccount
    class →
    CustomerAccount.cpp
    and
    CustomerAccount.h
    )
  4. Concept reinforcement: Files reinforce that grouped routines belong to the same class

Class Visual Separation

When to apply: When separating different classes within a file

  1. Use multiple blank lines to clearly identify and separate each class
  2. Avoid over-emphasis:
    • Don't mark every routine and comment with asterisk lines
    • When everything is emphasized, nothing is truly emphasized
  3. Hierarchical separation (if special characters must be used):
    • Establish character hierarchy (densest to sparsest)
    • Example: Asterisks for class separation, dashes for routine separation, blank lines for important comments
    • Never place two lines of asterisks or dashes together

Principle: In formatting, less is more.

Result

  • Class boundaries are clearly visible
  • Visual noise is minimized
  • File structure reinforces class organization
  • Members follow consistent ordering conventions