Habilidades solid-principles
🏗️

solid-principles

Seguro ⚙️ Comandos externos🌐 Acesso à rede

Aplicar Princípios SOLID ao Código TypeScript

Também disponível em: Benny9193

Os princípios SOLID ajudam você a escrever software sustentável. Esta skill ensina você a construir aplicações TypeScript testáveis e extensíveis que se adaptam a requisitos em mudança.

Suporta: Claude Codex Code(CC)
📊 69 Adequado
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "solid-principles". Minha classe OrderService lida com validação, lógica de negócio, acesso ao banco de dados e notificações. Como posso melhorá-la?

Resultado esperado:

  • Violação de Responsabilidade Única detectada: 4 responsabilidades distintas
  • Extrair lógica de validação para uma função OrderValidator dedicada
  • Mover operações de banco de dados para um OrderRepository separado
  • Criar uma interface EmailNotifier para notificações
  • Injetar todas as dependências para testabilidade e flexibilidade

A utilizar "solid-principles". Tenho muitas instruções if-else verificando tipos de desconto. Como torno isso extensível?

Resultado esperado:

  • Violação do Princípio Aberto/Fechado: modificando código existente para adicionar novos tipos
  • Criar um tipo DiscountStrategy para cálculos de desconto
  • Armazenar estratégias em um record/map para fácil extensão
  • Adicionar novos tipos de desconto sem modificar calculateDiscount
  • Usar composição de funções para combinações flexíveis de desconto

A utilizar "solid-principles". Minha classe Square quebra as expectativas de Rectangle quando a largura muda. Como corrijo isso?

Resultado esperado:

  • Violação do Princípio de Substituição de Liskov: Square não pode substituir Rectangle
  • Usar composição em vez de herança para relacionamentos de formas
  • Definir uma interface Shape com cálculo de área
  • Criar funções de fábrica separadas para Rectangle e Square
  • Evitar herança quando contratos comportamentais diferem

Auditoria de Segurança

Seguro
v5 • 1/17/2026

This is a pure documentation/educational skill containing only markdown explanations and TypeScript code examples demonstrating SOLID design principles. The static scanner misidentified TypeScript template literals as shell backticks, arithmetic operations as cryptographic algorithms, and code comments as system reconnaissance. No executable code, network calls, file system access, or environment variable access exists. Verified by reading SKILL.md (282 lines) and examples.md (387 lines) which contain only educational content.

3
Arquivos analisados
852
Linhas analisadas
2
achados
5
Total de auditorias
Auditado por: claude Ver Histórico de Auditoria →

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
85
Conteúdo
22
Comunidade
100
Segurança
91
Conformidade com especificações

O Que Você Pode Construir

Aprender fundamentos SOLID

Compreender cada princípio através de exemplos práticos em TypeScript e violações comuns

Revisar decisões de design

Validar escolhas de design e identificar oportunidades de refatoração em código legado

Estudar padrões de design

Aprender como os princípios SOLID orientam decisões de design orientado a objetos e funcional

Tente Estes Prompts

Identificar violações
Analise esta classe TypeScript e identifique quais princípios SOLID ela viola. Explique cada violação e sugira uma abordagem de refatoração.
Aplicar Responsabilidade Única
Refatore esta classe para seguir o Princípio da Responsabilidade Única. Extraia funções separadas para cada responsabilidade.
Projetar sistemas extensíveis
Redesenhe esta instrução switch para seguir o Princípio Aberto/Fechado usando padrão de estratégia ou composição.
Implementar inversão de dependência
Refatore este serviço para depender de abstrações em vez de implementações concretas. Mostre o design da interface.

Melhores Práticas

  • Comece com Responsabilidade Única - divida funções por motivo de mudança
  • Use injeção de dependência para inverter dependências e melhorar a testabilidade
  • Prefira composição em vez de herança para flexibilidade

Evitar

  • Classes God que lidam com múltiplas responsabilidades não relacionadas
  • Hierarquias de herança profundas que quebram a substituição de Liskov
  • Interfaces gordas que forçam clientes a depender de métodos não utilizados

Perguntas Frequentes

Qual princípio SOLID devo aprender primeiro?
Comece com Responsabilidade Única. Ela fornece a base para código limpo e torna outros princípios mais fáceis de aplicar.
Posso aplicar princípios SOLID a código existente?
Sim. Identifique violações em classes críticas e refatore incrementalmente. Foque primeiro em áreas com mudanças frequentes.
SOLID se aplica apenas a código orientado a objetos?
Embora projetado para OOP, conceitos SOLID se traduzem para programação funcional. Foque em manutenibilidade e extensibilidade.
Como evito super-engenharia com SOLID?
Aplique YAGNI. Use SOLID quando você precisa de flexibilidade real, não para requisitos futuros hipotéticos.
Qual é a relação entre SOLID e padrões de design?
Princípios SOLID orientam decisões de design. Padrões como Strategy, Factory e Repository ajudam a implementar esses princípios.
Posso usar SOLID com TypeScript?
Absolutamente. Interfaces TypeScript e sistema de tipos suportam bem os princípios SOLID. Esta skill usa exemplos TypeScript.

Detalhes do Desenvolvedor

Estrutura de arquivos