functional-patterns
Appliquer des modèles fonctionnels dans Node.js
Le code Node.js souffre souvent d'effets secondaires et de dépendances implicites qui rendent les tests difficiles et les bugs difficiles à tracer. Cette compétence fournit des modèles fonctionnels éprouvés incluant des fonctions pures, des mises à jour immuables et une gestion d'erreurs monadique pour écrire du code TypeScript maintenable.
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“functional-patterns”。 Montre-moi comment structurer un gestionnaire d'API Node.js avec le modèle noyau pur et enveloppe impure
预期结果:
- Séparer la logique métier en fonctions pures qui prennent des entrées et retournent des résultats
- Envelopper les fonctions pures dans des gestionnaires qui injectent des dépendances pour les opérations d'E/S
- Utiliser le type Result pour propager les erreurs sans exceptions
- Exemple de structure : validateOrder (pur) -> calculateDiscount (pur) -> applyDiscount (pur) -> processOrderHandler (enveloppe impure avec E/S)
正在使用“functional-patterns”。 Comment gérer les erreurs de manière fonctionnelle au lieu de lever des exceptions ?
预期结果:
- Définir un type Result avec les variantes Ok et Err
- Retourner Result.fail pour les erreurs au lieu de lever des exceptions
- Utiliser map pour transformer les valeurs de succès
- Utiliser flatMap pour chaîner les opérations qui retournent des Results
- Gérer tous les cas explicitement avec match ou des vérifications if
正在使用“functional-patterns”。 Montre-moi comment rendre ce code plus testable avec l'injection de dépendances
预期结果:
- Identifier toutes les dépendances externes (base de données, réseau, horloge, logger)
- Passer les dépendances comme paramètres à votre fonction
- Créer un type Dependencies qui encapsule tous les services externes
- Injecter des implémentations factices dans les tests
- Garder la logique métier pure en isolant les E/S dans l'enveloppe
安全审计
安全This skill is pure documentation containing educational TypeScript code examples. The static scanner flagged 36 false positives due to pattern-matching limitations: SHA-256 hashes in JSON metadata were misidentified as weak crypto/C2 indicators, and backticks in TypeScript template literals were misidentified as shell execution. This is a documentation-only skill with no executable code, scripts, network calls, filesystem access, or external command execution capabilities.
风险因素
🌐 网络访问 (1)
⚙️ 外部命令 (20)
质量评分
你能构建什么
Construire des API testables
Créer des gestionnaires d'API avec une logique métier pure et des dépendances injectées pour des tests unitaires fiables
Standardiser les modèles de code
Établir une gestion cohérente des erreurs et de l'état dans une base de code partagée
Valider la qualité du code
Examiner les pull requests par rapport aux principes fonctionnels pour la maintenabilité et la testabilité
试试这些提示
Montre-moi comment convertir cette fonction impure en fonction pure. La fonction calcule les totaux de commande et enregistre dans la base de données.
Écris une fonction de mise à jour immuable qui modifie une propriété profondément imbriquée dans un objet utilisateur sans muter l'original.
Crée une fonction pipe qui enchaîne les opérations trim, validate et transform sur les chaînes d'entrée utilisateur.
Convertis cette fonction qui utilise des blocs try-catch pour utiliser le modèle Result avec les opérations map et flatMap.
最佳实践
- Garder la logique métier pure en la séparant des opérations d'E/S comme les appels de base de données et les requêtes réseau
- Utiliser des mises à jour immuables avec les opérateurs de décomposition et les méthodes de tableaux plutôt que de muter les objets en place
- Retourner des types Result depuis les fonctions au lieu de lever des exceptions pour rendre la gestion d'erreurs explicite
避免
- Mélanger les E/S avec la logique métier dans la même fonction détruit la testabilité
- Utiliser un état mutable et des variables partagées crée des dépendances cachées
- Lever des exceptions pour le flux de contrôle cache les conditions d'erreur dans les signatures de type