技能 functional-patterns

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.

支援: Claude Codex Code(CC)
📊 69 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「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

安全審計

安全
v5 • 1/17/2026

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.

2
已掃描檔案
548
分析行數
2
發現項
5
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
21
社群
100
安全
83
規範符合性

你能建構什麼

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

試試這些提示

Conceitos Básicos de Função Pura
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.
Atualizações Imutáveis
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.
Composição de Funções
Crie uma função pipe que encadeia operações de trim, validação e transformação em strings de entrada do usuário.
Padrão Result
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

常見問題

Esta skill é compatível com projetos JavaScript puro?
Sim. Os padrões funcionam em JavaScript, mas TypeScript fornece melhor segurança de tipos para padrões Result e Option.
Qual é o impacto de desempenho das atualizações imutáveis?
Motores JavaScript modernos otimizam bem as operações spread. Para a maioria das aplicações, a sobrecarga é negligenciável comparada aos benefícios de correção.
Como isso se integra com bases de código existentes?
Aplique padrões incrementalmente. Comece isolando código novo com funções puras e depois refatore gradualmente o código existente.
Esta skill armazena ou transmite dados de usuário?
Não. Esta é uma skill de documentação pura sem execução de código, acesso à rede ou operações de sistema de arquivos.
Por que usar Result em vez de exceções?
Tipos Result tornam erros explícitos na assinatura de tipo, forçam o tratamento em tempo de compilação e compõem de forma limpa com operações funcionais.
Como isso se compara a padrões orientados a objetos?
Padrões funcionais enfatizam dados imutáveis e funções puras. POO enfatiza estado e comportamento encapsulados. Ambos podem coexistir em projetos.