المهارات python-design-patterns
📦

python-design-patterns

آمن

Применение шаблонов проектирования Python

Пишите поддерживаемый код на Python, используя проверенные шаблоны проектирования, такие как KISS, принцип единственной ответственности и композицию вместо наследования, для создания систем, которые легко понимать, тестировать и модифицировать.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "python-design-patterns". Покажите, как отрефакторить класс, который обрабатывает регистрацию пользователей, отправляет письма, логирует активность и сохраняет в базу данных

النتيجة المتوقعة:

Пример рефакторинга с разделением на UserService (бизнес-логика), UserRepository (доступ к данным), EmailNotifier (уведомления) и ActivityLogger (логирование) — каждый с единственной ответственностью.

استخدام "python-design-patterns". Мне нужно добавить обработку платежей в систему заказов. Должен ли я наследовать от базового класса Order или использовать композицию?

النتيجة المتوقعة:

Объяснение, почему предпочтительна композиция — вы можете менять платежные провайдеры, тестировать с фейками и избегать иерархий наследования. Пример показывает PaymentProcessor, внедрённый в OrderService.

استخدام "python-design-patterns". У меня есть три похожие функции, которые обрабатывают данные немного по-разному. Должен ли я создать абстракцию?

النتيجة المتوقعة:

Примените правило трёх — подождите, пока не увидите чёткий паттерн. Пример тог��, когда дублирование лучше неправильной абстракции, и когда стоит абстрагировать.

التدقيق الأمني

آمن
v1 • 2/15/2026

All 35 static findings are false positives. The skill is a documentation file containing Python code examples for educational purposes. Python dictionary syntax was misidentified as shell backticks, email examples as network calls, and code examples as cryptographic algorithms or reconnaissance. No actual security risks present.

1
الملفات التي تم فحصها
412
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
85
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

Проектирование новых сервисов на Python

При создании нового сервиса используйте эти шаблоны для построения чистой, поддерживаемой архитектуры с самого начала.

Рефакторинг запутанного кода

При работе со сложным, сильно связанным кодом применяйте SRP и разделение ответственности для распутывания зависимостей.

Оценка решений об абстракциях

При принятии решения о создании абстракции используйте правило трёх, чтобы избежать преждевременного обобщения.

جرّب هذه الموجهات

Применить KISS к задаче
Мне нужно решить [описать задачу]. Каково простейшее рабочее решение? Покажите пример.
Рефакторинг с использованием SRP
Вот мой класс [вставить код], который делает несколько вещей. Как я могу разделить его на классы с единственной ответственностью?
Композиция против наследования
У меня есть базовый класс с общим поведением, и я хочу его расширить. Как я могу использовать композицию вместо наследования? Покажите пример.
Применить многослойную архитектуру
Как мне организовать [описать ваше приложение] в слои? Покажите мне разделение ответственности с примером кода.

أفضل الممارسات

  • Начинайте с простейшего решения и добавляйте сложность только при наличии обоснования конкретными требованиями
  • Сохраняйте функции сфокусированными на 20-50 строках с единственной целью
  • Разделяйте операции ввода-вывода и бизнес-логику на разные слои
  • Внедряйте зависимости через конструкторы для тестируемости

تجنب

  • Создание абстракций слишком рано, до п��нимания предметной области
  • Использование наследования для повторного использования кода вместо композиции
  • Смешивание ответственности, такой как HTTP-обработка, валидация и доступ к базе данных в одном классе
  • Создание умного кода вместо читаемого

الأسئلة المتكررة

Что такое правило трёх в Python?
Подождите, пока у вас не появится три похожих экземпляра, прежде чем создавать абстракцию. Два похожих фрагмента кода могут не иметь общего паттерна — ждите третьего для подтверждения.
Когда мне следует использовать композицию вместо наследования?
Всегда предпочитайте композицию, если только вам не нужен истинный полиморфизм. Наследование создаёт сильную связность и усложняет тестирование.
Какого размера должна быть функция?
Сохраняйте функции в пределах 20-50 строк в зависимости от сложности. Выделяйте, когда функция служит нескольким целям или имеет глубоко вложенную логику (3+ уровня).
Что такое разделение ответственности?
Организуйте код в отдельные слои (API, Service, Repository), где каждый слой имеет чёткую ответственность и зависит только от нижележащих слоёв.
Что такое внедрение зависимостей?
Передавайте зависимости через конструкторы, а не создавайте их внутри класса. Это делает код тестируемым, позволяя использовать фейковые реализации.
Когда мне следует применять принцип KISS?
Всегда начинайте с простейшего рабочего решения. Добавляйте сложность только когда этого требуют конкретные требования. Простой код легче поддерживать.

تفاصيل المطور

بنية الملفات

📄 SKILL.md