modular-code

Modular Code Organization

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "modular-code" with this command: npx skills add parcadei/continuous-claude-v3/parcadei-continuous-claude-v3-modular-code

Modular Code Organization

Write modular Python code with files sized for maintainability and AI-assisted development.

File Size Guidelines

Lines Status Action

150-500 Optimal Sweet spot for AI code editors and human comprehension

500-1000 Large Look for natural split points

1000-2000 Too large Refactor into focused modules

2000+ Critical Must split - causes tooling issues and cognitive overload

When to Split

Split when ANY of these apply:

  • File exceeds 500 lines

  • Multiple unrelated concerns in same file

  • Scroll fatigue finding functions

  • Tests for the file are hard to organize

  • AI tools truncate or miss context

How to Split

Natural Split Points

  • By domain concept: auth.py → auth/login.py , auth/tokens.py , auth/permissions.py

  • By abstraction layer: Separate interface from implementation

  • By data type: Group operations on related data structures

  • By I/O boundary: Isolate database, API, file operations

Package Structure

feature/ ├── init.py # Keep minimal, just exports ├── core.py # Main logic (under 500 lines) ├── models.py # Data structures ├── handlers.py # I/O and side effects └── utils.py # Pure helper functions

DO

  • Use meaningful module names (data_storage.py not utils2.py )

  • Keep init.py files minimal or empty

  • Group related functions together

  • Isolate pure functions from side effects

  • Use snake_case for module names

DON'T

  • Split files arbitrarily by line count alone

  • Create single-function modules

  • Over-modularize into "package hell"

  • Use dots or special characters in module names

  • Hide dependencies with "magic" imports

Refactoring Large Files

When splitting an existing large file:

  • Identify clusters: Find groups of related functions

  • Extract incrementally: Move one cluster at a time

  • Update imports: Fix all import statements

  • Run tests: Verify nothing broke after each move

  • Document: Update any references to old locations

Current Codebase Candidates

Files over 2000 lines that need attention:

  • Math compute modules (scipy, mpmath, numpy) - domain-specific, may be acceptable

  • patterns.py - consider splitting by pattern type

  • memory_backfill.py - consider splitting by operation type

Sources

  • The Hitchhiker's Guide to Python

  • Python Project Best Practices - Dagster

  • Right-Sizing Python Files for AI Editors

  • PEP 8 Style Guide

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-search

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

dead-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

skill-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

skill-developer

No summary provided by upstream source.

Repository SourceNeeds Review