Class Design

Python class design conventions for this codebase. Apply when writing or reviewing classes including interfaces, inheritance, composition, and attribute access. Use when this capability is needed.

tomevault-io 9374a5b 2 files · 1.9 KB Updated

File contents

Class Design Conventions

Favor composition over inheritance. Use Protocol classes for interfaces and dependency injection for shared behavior.

Layers:

  • rules.md - Quick reference and decision flow
  • examples.md - Detailed code examples

Quick Reference

Principle Pattern
Interfaces Protocol classes for duck typing
Shared behavior Dependency injection or mixins
Inheritance depth Maximum 2 levels
Framework base classes OK to inherit (BaseModel, nn.Module)
Concrete inheritance Forbidden—use mixins instead
Static methods Avoid—use module-level functions
Internal APIs Design for extension, not restriction
Private attributes Only to avoid subclass naming conflicts
Getters/setters Use plain attributes instead

For rules: see rules.md For examples: see examples.md


Converted and distributed by TomeVault — claim your Tome and manage your conversions.

tomevault-io/skills-registry/tree/main/libertininick--pyclaudefig--class-design commit 9374a5bbea

Frequently asked questions

npx skillmds@latest add tomevault-io/class-design