functional-patterns
Aplicar Padrões Funcionais em Node.js
O código Node.js frequentemente sofre com efeitos colaterais e dependências implícitas que dificultam os testes e tornam os bugs difíceis de rastrear. Esta skill fornece padrões funcionais comprovados, incluindo funções puras, atualizações imutáveis e tratamento de erros monádico para escrever código TypeScript manutenível.
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「functional-patterns」。 Mostre-me como estruturar um manipulador de API Node.js com padrão de núcleo puro e shell impuro
預期結果:
- Separe a lógica de negócio em funções puras que recebem entradas e retornam resultados
- Envolva funções puras em manipuladores que injetam dependências para operações de I/O
- Use o tipo Result para propagar erros sem exceções
- Estrutura de exemplo: validateOrder (pura) -> calculateDiscount (pura) -> applyDiscount (pura) -> processOrderHandler (shell impuro com I/O)
正在使用「functional-patterns」。 Como lidar com erros funcionalmente em vez de lançar exceções?
預期結果:
- Defina um tipo Result com variantes Ok e Err
- Retorne Result.fail para erros em vez de lançar
- Use map para transformar valores de sucesso
- Use flatMap para encadear operações que retornam Results
- Trate todos os casos explicitamente com match ou verificações if
正在使用「functional-patterns」。 Mostre-me como tornar este código mais testável com injeção de dependência
預期結果:
- Identifique todas as dependências externas (banco de dados, rede, relógio, logger)
- Passe dependências como parâmetros para sua função
- Crie um tipo Dependencies que envolve todos os serviços externos
- Injete implementações falsas nos testes
- Mantenha a lógica de negócio pura isolando I/O no shell
安全審計
安全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)
品質評分
你能建構什麼
Construir APIs Testáveis
Criar manipuladores de API com lógica de negócio pura e dependências injetadas para testes unitários confiáveis
Padronizar Padrões de Código
Estabelecer tratamento de erros e gerenciamento de estado consistentes em uma base de código compartilhada
Validar Qualidade de Código
Revisar pull requests com base em princípios funcionais para manutenibilidade e testabilidade
試試這些提示
Mostre-me como converter esta função impura em uma função pura. A função calcula totais de pedidos e salva no banco de dados.
Escreva uma função de atualização imutável que altera uma propriedade profundamente aninhada em um objeto de usuário sem mutar o original.
Crie uma função pipe que encadeia operações de trim, validação e transformação em strings de entrada do usuário.
Converta esta função que usa blocos try-catch para usar o padrão Result com operações map e flatMap.
最佳實務
- Mantenha a lógica de negócio pura separando-a de operações de I/O como chamadas de banco de dados e requisições de rede
- Use atualizações imutáveis com operadores spread e métodos de array em vez de mutar objetos no local
- Retorne tipos Result de funções em vez de lançar exceções para tornar o tratamento de erros explícito
避免
- Misturar I/O com lógica de negócio na mesma função destrói a testabilidade
- Usar estado mutável e variáveis compartilhadas cria dependências ocultas
- Lançar exceções para fluxo de controle oculta condições de erro das assinaturas de tipo