python-best-practices
Appliquer les modèles de développement type-first en Python
متاح أيضًا من: 0xBigBoss
Écrire du Python sans définitions de types conduit à des erreurs d'exécution et à du code difficile à maintenir. Cette compétence fournit des modèles éprouvés pour le développement type-first utilisant des dataclasses, des unions discriminées, des Protocols et d'autres fonctionnalités modernes de Python pour rendre les états illégaux non représentables.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-best-practices". Créer une dataclass frozen pour un produit avec un nom et un prix requis, description optionnelle
النتيجة المتوقعة:
- Utiliser @dataclass(frozen=True) pour l'immuabilité
- Marquer les champs requis sans valeurs par défaut en premier
- Ajouter les champs optionnels avec des valeurs par défaut après les champs requis
- Le flag frozen=True prévient la mutation accidentelle
- L'exemple montre un orden correct des champs et des hints de type
التدقيق الأمني
آمنPure documentation skill containing only markdown guidance. No executable code, no file system access, no network calls, and no external command execution. This skill only provides informational content when loaded by an AI agent.
درجة الجودة
ماذا يمكنك بناءه
Concevoir des modèles de données type-safe
Apprendre à utiliser des dataclasses, NewType et des unions discriminées pour encoder les contraintes de domaine au niveau du type.
Revoir les modèles de typage Python
Appliquer des modèles de typage cohérents dans les bases de code en utilisant Protocols, TypedDict et des unions assorties exhaustivement.
Générer du Python idiomatique
Produire du code Python qui suit les modèles de développement type-first modernes lorsque vous travaillez avec Claude, Codex ou Claude Code.
جرّب هذه الموجهات
Créer une dataclass frozen avec des hints de type corrects pour un profil utilisateur incluant les champs requis et un avatar optionnel. Utiliser les modèles python-best-practices.
Modéliser une machine à états de requête avec les états idle, loading, success et failure en utilisant des unions discriminées et le pattern matching. Appliquer les modèles python-best-practices.
Créer des wrappers NewType pour UserId et OrderId pour éviter de les confondre. Moncomment valider l'entrée et créer les types wrappés.
Définir un Protocol pour un objet de type fichier avec une méthode read, puis montrer comment l'utiliser comme hint de type pour les fonctions qui acceptent n'importe quel objet compatible avec read.
أفضل الممارسات
- Définir les types avant l'implémentation ; laisser le vérificateur de type guider la complétude
- Utiliser des dataclasses frozen et des modèles immuables pour prévenir la mutation accidentelle de l'état
- Valider les données aux limites du système avec des vérifications runtime en plus des hints de type
تجنب
- Utiliser des arguments mutables par défaut dans les signatures de fonctions
- Sauter les hints de type pour les types de retour 'évidents'
- Attraper les exceptions sans les relancer ni ajouter de contexte