mcpField
M
modular-code

modular-code

github.com/parcadei开发3.9k567 次安装39 周前更新
代码仓库

关于 modular-code

modular-code 是用于组织易维护 Python 代码的技能,适合开发者和 AI 辅助编码工作流。它提供文件规模指引、模块拆分依据及渐进式重构步骤。

主要功能

  1. 01Python 文件规模指引
  2. 02模块拆分判断标准
  3. 03包结构示例
  4. 04命名与组织规范
  5. 05渐进式重构步骤

适用场景

  1. 01拆分过大的 Python 模块
  2. 02分离互不相关的代码职责
  3. 03重构文件并逐步运行测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill modular-code

安装后在 Claude Code 中输入/modular-code确认已加载。

详细介绍

模块化代码组织

编写模块化 Python 代码,并将文件大小控制在便于维护和 AI 辅助开发的范围内。

文件大小指南

行数状态建议操作
150-500最佳最适合 AI 代码编辑器,也便于人类理解
500-1000较大寻找自然的拆分点
1000-2000过大重构为职责明确的模块
2000+严重必须拆分——会导致工具问题和认知负担过重

何时拆分

符合以下任一条件时就应拆分:

  • 文件超过 500 行
  • 同一文件中包含多个互不相关的职责
  • 查找函数时需要反复滚动,令人疲惫
  • 难以组织该文件的测试
  • AI 工具会截断或遗漏上下文

如何拆分

自然的拆分点
  1. 按领域概念拆分:auth.py → auth/login.py、auth/tokens.py、auth/permissions.py
  2. 按抽象层拆分:将接口与实现分开
  3. 按数据类型拆分:将针对相关数据结构的操作归在一起
  4. 按 I/O 边界拆分:隔离数据库、API 和文件操作
包结构
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

应该做

  • 使用有意义的模块名称(data_storage.py,而不是 utils2.py)
  • 让 __init__.py 文件尽量精简或留空
  • 将相关函数归在一起
  • 将纯函数与副作用隔离
  • 模块名称使用 snake_case

不应该做

  • 仅按行数随意拆分文件
  • 创建只包含一个函数的模块
  • 过度模块化,陷入“包地狱”
  • 在模块名称中使用点或特殊字符
  • 用“魔法”导入隐藏依赖关系

重构大型文件

拆分现有大型文件时:

  1. 识别功能簇:找出相关函数组
  2. 逐步提取:每次移动一个功能簇
  3. 更新导入:修正所有导入语句
  4. 运行测试:每次移动后确认没有问题
  5. 更新文档:更新所有指向旧位置的引用

当前代码库中值得关注的对象

需要处理的 2000 行以上文件:

  • 数学计算模块(scipy、mpmath、numpy)——领域特定,可能可以接受
  • patterns.py——考虑按模式类型拆分
  • memory_backfill.py——考虑按操作类型拆分

资料来源

评论

支持 Markdown