基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jr2804/mcp-config-converter --skill python-refactoring命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | python-refactoring |
| description | Python refactoring triggers and guidelines for code size limits |
| license | MIT |
| compatibility | opencode |
| metadata | {"related_coding_principles":"For general coding principles, use skill `coding-principles`","related_python_guidelines":"For style and quality standards, use skill `python-guidelines`"} |
Provide guidelines for when to refactor Python code based on size limits and complexity thresholds.
# When a single .py file exceeds 250 lines:
# OPTION 1: Split into multiple modules
# module/
# __init__.py # Public API
# core.py # Core functionality
# helpers.py # Helper functions
# validators.py # Validation logic
# OPTION 2: Extract functions
# Original module has many related functions
# Extract related functions into separate modules
# Use __init__.py to expose public API
# When a function exceeds 75 lines (declaration + body):
# BEFORE: Monolithic function
def process_data(data):
# 80+ lines of mixed logic
validate(data)
transform(data)
clean(data)
aggregate(data)
export(data)
# AFTER: Decomposed functions
def process_data(data):
validate(data)
transformed = transform_data(data)
cleaned = clean_data(transformed)
results = aggregate_data(cleaned)
export_results(results)
def transform_data(data):
# Single responsibility
pass
def clean_data(data):
# Single responsibility
pass
# When a class exceeds 200 lines:
# BEFORE: God class with many responsibilities
class DataProcessor:
def validate(self): ...
def parse(self): ...
def transform(self): ...
def export(self): ...
def log(self): ...
def cache(self): ...
# AFTER: Split responsibilities
class DataProcessor:
def __init__(self, validator, parser, transformer, exporter):
self.validator = validator
self.parser = parser
self.transformer = transformer
self.exporter = exporter
def process(self, data):
validated = self.validator.validate(data)
parsed = self.parser.parse(validated)
return self.transformer.transform(parsed)
# BAD: Multiple responsibilities
class UserService:
def authenticate(self): ... # Auth logic
def send_email(self): ... # Email logic
def cache_data(self): ... # Caching logic
def generate_report(self): ... # Reporting logic
# GOOD: Split by responsibility
class AuthService: ...
class EmailService: ...
class CacheService: ...
class ReportService: ...
# When class has too many attributes/dependencies:
# Use composition instead of inheritance
class DataProcessor:
def __init__(self, validator, parser, transformer):
# Inject dependencies
self.validator = validator
self.parser = parser
self.transformer = transformer
Use this skill when: