Compétences component-refactoring
📦

component-refactoring

Sûr

Refatorar Componentes React Complexos

Componentes React complexos se tornam difíceis de testar e manter. Esta skill fornece padrões e fluxos de trabalho para refatorar componentes de alta complexidade extraindo hooks, dividindo subcomponentes e aplicando convenções específicas do Dify.

Prend en charge: Claude Codex Code(CC)
🥉 76 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "component-refactoring". Analise a complexidade de web/app/components/workflow/index.tsx

Résultat attendu:

Análise de Complexidade:
- Complexidade Total: 72 (alvo: <50)
- Complexidade Máxima de Função: 28
- Contagem de Linhas: 420 (alvo: <300)

Principais Direcionadores de Complexidade:
1. callback handleSubmit: +15 complexidade (condições aninhadas)
2. useEffect para sincronização de dados: +12 complexidade (callbacks aninhados)
3. métodos render: +10 complexidade (cadeias switch/case)

Ações Recomendadas:
1. Extrair hook useWorkflowState
2. Dividir manipulação de formulário em componente separado
3. Mover lógica de sincronização de dados para hook useEffect

Utilisation de "component-refactoring". Extrair hooks do componente ConfigurationForm

Résultat attendu:

Hooks Extraídos:
- useModelConfig: Gerencia estado de configuração do modelo
- useDatasetSelection: Manipula lógica do seletor de dataset
- useFormValidation: Lógica de validação de formulário

Estrutura de Arquivos:
web/app/components/form/
hooks/
use-model-config.ts
use-dataset-selection.ts
use-form-validation.ts
ConfigurationForm.tsx
index.ts

Audit de sécurité

Sûr
v1 • 2/16/2026

This is a documentation and guidance skill for React component refactoring. Static analyzer flagged 214 potential issues in markdown documentation files, all of which are false positives: backticks in code examples were detected as shell commands, code patterns triggered crypto/blocker alerts, and Object.keys() was flagged as certificate/key files. The skill provides reference documentation only and does not execute any code.

4
Fichiers analysés
1,774
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

45
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Reduzir Complexidade de Componentes

Quando um componente React excede o limite de complexidade (>50) ou contagem de linhas (>300), use esta skill para reduzir sistematicamente a complexidade através de extração de hooks e divisão de componentes.

Padronizar Padrões de Hooks

Aplique convenções do Dify para organizar hooks customizados em subdiretórios hooks/ ou junto a componentes com nomenclatura de prefixo use-.

Preparar Componentes para Testes

Refatore componentes complexos antes de escrever testes para garantir que os componentes sejam testáveis e atendam aos limites de complexidade.

Essayez ces prompts

Verificação Básica de Complexidade
Verifique a complexidade de web/app/components/example.tsx usando pnpm analyze-component. Qual é a pontuação de complexidade e quais são os principais direcionadores de complexidade?
Plano de Extração de Hooks
Analise web/app/components/form-config/index.tsx e identifique oportunidades para extrair hooks customizados. Mostre-me a estrutura de hooks proposta com as convenções do Dify.
Estratégia de Divisão de Componentes
O componente Configuration em web/app/components/config/index.tsx tem complexidade 85. Sugira como dividi-lo em subcomponentes mantendo os padrões do Dify.
Fluxo de Trabalho Completo de Refatoração
Execute pnpm analyze-component em web/app/components/app/configuration/index.tsx e gere um plano completo de refatoração incluindo extrações de hooks, divisões de subcomponentes e metas de redução de complexidade.

Bonnes pratiques

  • Execute análise de complexidade antes de refatorar para estabelecer métricas basais
  • Extraia hooks antecipadamente quando o gerenciamento de estado exceder 3-5 chamadas useState
  • Siga convenções de nomenclatura do Dify: hooks no diretório hooks/ ou prefixo use-*.ts

Éviter

  • Refatorar componentes que já atendem aos limites de complexidade desnecessariamente
  • Extrair hooks que são usados apenas em um único componente (prefira inline)
  • Criar muitos componentes pequenos que prejudicam a navegação no código

Foire aux questions

Qual pontuação de complexidade é aceitável?
A complexidade alvo deve ser inferior a 50. Pontuações 51-75 indicam que refatoração é necessária antes dos testes. Pontuações acima de 75 requerem refatoração imediata.
Posso usar esta skill para projetos React não-Dify?
Sim, os padrões de análise de complexidade e técnicas de extração de hooks se aplicam geralmente ao React. No entanto, as convenções de organização de arquivos são específicas do Dify.
Esta skill modifica meu código automaticamente?
Não, esta skill fornece análise e orientação. Você executa os comandos de refatoração sugeridos você mesmo usando pnpm refactor-component em seu ambiente local.
Quais ferramentas esta skill usa?
A skill referencia as ferramentas CLI pnpm analyze-component e pnpm refactor-component do Dify. Estas devem ser executadas no diretório web/ de um projeto Dify.
Como sei quando refatorar versus reescrever?
Se a complexidade exceder 75 ou o componente tiver problemas arquiteturais fundamentais, considere reescrever. A refatoração funciona melhor quando o componente tem lógica de negócio valiosa que vale a pena preservar.
O que é complexidade cognitiva?
Complexidade cognitiva mede quão difícil é entender o código. Difere da complexidade ciclomática ao focar na legibilidade humana, não apenas em caminhos de execução. SonarJS a calcula com base em estruturas aninhadas, switches e padrões de fluxo de controle.

Détails du développeur