python-patterns
Освойте принятие решений при разработке на Python
Перестаньте копировать паттерны кода без понимания. Научитесь принимать обоснованные архитектурные решения на Python, основываясь на специфике вашего проекта, требований к фреймворку и потребностей команды.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «python-patterns». Мне нужно создать API для мобильного приложения с аутентификацией пользователей и real-time уведомлениями. Моя команда знает JavaScript, но новичок в Python.
Ожидаемый результат:
Рекомендация: FastAPI. Обоснование: FastAPI предоставляет нативную поддержку async для real-time функций, автоматическую документацию API, полезную для JavaScript-разработчиков, переходящих на Python, Pydantic для ясной валидации запросов/ответов и мягкую кривую обучения. Рассмотрите добавление WebSockets для уведомлений и SQLAlchemy async для операций с базой данных.
Использование «python-patterns». Нужно ли конвертировать моё Flask-приложение в async? Оно в основном обрабатывает загруженные файлы и генерирует отчёты.
Ожидаемый результат:
Рекомендация: Оставьте синхронным. Обоснование: Обработка файлов и генерация отчётов — это CPU-bound операции, а не I/O-bound. Async приносит пользу при ожидании внешних сервисов (база данных, HTTP), а не при вычислениях. Конвертация в async добавит сложность без прироста производительности. Рассмотрите multiprocessing для параллельной обработки файлов вместо этого.
Аудит безопасности
БезопасноAll 41 static analysis findings were determined to be false positives. The external_commands detections (35 locations) incorrectly flagged markdown code blocks (```) as shell execution - these are documentation examples. The network finding is a test URL in example code. The blocker patterns are text resembling security issues but are educational content. This is a safe educational skill teaching Python development decision-making with no executable code or security risks.
Оценка качества
Что вы можете построить
Настройка нового веб-проекта на Python
Разработчик, начинающий новый API-проект, нуждается в руководстве по выбору между FastAPI, Django и Flask на основе требований к админ-интерфейсам, поддержке async и знакомству команды.
Планирование миграции на async
Команда с существующей синхронной кодовой базой должна понять, когда async приносит пользу, а когда добавляет ненужную сложность в приложение.
Code review и лучшие практики
Разработчик, проводящий review кода команды, нуждается в эталонных паттернах для правильной обработки ошибок, аннотаций типов и решений по организации проекта.
Попробуйте эти промпты
Мне нужно создать [тип приложения]. У моей команды есть опыт с [фреймворки]. Нам нужны [функции: admin, async, ORM]. Какой фреймворк Python выбрать и почему?
Моё приложение выполняет [опишите операции: вызовы базы данных, обработка CPU, HTTP-запросы]. Мне следует использовать async или sync Python? Объясните компромиссы для моего случая.
Вот моя текущая структура проекта: [вставьте структуру]. Я создаю [тип приложения] с использованием [фреймворк]. Предложите улучшения на основе лучших практик для поддерживаемости и тестирования.
Я создаю приложение [FastAPI/Django], которому нужна консистентная обработка ошибок. Покажите паттерн для пользовательских исключений, обработчиков исключений и формата error response, который скрывает внутренние детали от клиентов.
Лучшие практики
- Всегда задавайте уточняющие вопросы о контексте проекта перед рекомендацией фреймворков или паттернов
- Последовательно разделяйте ответственности: routes обрабатывают HTTP, services содержат бизнес-логику, repositories управляют доступом к данным
- Используйте типизацию для всех публичных API и сигнатур функций для улучшения читаемости кода и раннего обнаружения ошибок
Избегать
- Использование одного и того же фреймворка по умолчанию для всех проектов без учёта требований
- Смешивание синхронного и асинхронного кода без понимания последствий
- Размещение бизнес-логики напрямую в обработчиках маршрутов вместо сервисных слоёв