Pular para o conteúdo
Skillpedia
Código em geral48 mil · #2537

clean-code

Ajuda seu agente a transformar código funcional em código limpo e organizado. Segue os princípios do "Clean Code" para melhor legibilidade.

O que ela faz

Esta ferramenta ajuda a transformar código de computador que funciona, mas é difícil de entender, em código limpo e fácil de ler. Ela segue as melhores práticas para tornar o código mais organizado e compreensível para outros programadores.

Quando usar

  • ✓Ao escrever código novo para garantir qualidade desde o início.
  • ✓Ao revisar o código de outras pessoas para dar sugestões de melhoria.
  • ✓Ao tentar consertar ou melhorar códigos antigos e complicados.

Exemplo do que pedir para a IA

“Transforme este código para que fique mais limpo e fácil de entender, mantendo a mesma funcionalidade.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/clean-code/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/clean-code/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A IA analisa o código que você fornece e aplica regras de 'código limpo'. Isso inclui usar nomes mais claros para variáveis e funções, dividir códigos longos em partes menores e mais focadas, e remover comentários desnecessários, tornando o código mais legível.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill clean-code

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/clean-code/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Habilidade de Código Limpo

Esta habilidade incorpora os princípios de "Código Limpo" de Robert C. Martin (Uncle Bob). Use-a para transformar "código que funciona" em "código que é limpo".

🧠 Filosofia Central

"Código é limpo se puder ser lido e aprimorado por um desenvolvedor diferente de seu autor original." — Grady Booch

Quando Usar

Use esta habilidade quando:

  • Escrever código novo: Para garantir alta qualidade desde o início.
  • Revisar Pull Requests: Para fornecer feedback construtivo baseado em princípios.
  • Refatorar código legado: Para identificar e remover "code smells" (cheiros de código).
  • Melhorar padrões da equipe: Para alinhar com as melhores práticas do setor.

1. Nomes Significativos

  • Use Nomes que Revelam a Intenção: elapsedTimeInDays em vez de d.
  • Evite Desinformação: Não use accountList se for realmente um Map.
  • Faça Distinções Significativas: Evite ProductData vs ProductInfo.
  • Use Nomes Pronunciáveis/Pesquisáveis: Evite genymdhms.
  • Nomes de Classes: Use substantivos (Customer, WikiPage). Evite Manager, Data.
  • Nomes de Métodos: Use verbos (postPayment, deletePage).

2. Funções

  • Pequenas!: Funções devem ser menores do que você pensa.
  • Faça Uma Coisa Só: Uma função deve fazer apenas uma coisa e fazê-la bem.
  • Um Nível de Abstração: Não misture lógica de negócios de alto nível com detalhes de baixo nível (como regex).
  • Nomes Descritivos: isPasswordValid é melhor que check.
  • Argumentos: 0 é o ideal, 1-2 é aceitável, 3+ requer uma justificativa muito forte.
  • Sem Efeitos Colaterais: Funções não devem alterar secretamente o estado global.

3. Comentários

  • Não Comente Código Ruim — Reescreva-o: A maioria dos comentários é um sinal de falha em nos expressarmos em código.
  • Explique-se em Código:
    # Check if employee is eligible for full benefits
    if employee.flags & HOURLY and employee.age > 65:
    
    vs
    if employee.isEligibleForFullBenefits():
    
  • Bons Comentários: Legais, Informativos (intenção de regex), Esclarecimento (bibliotecas externas), TODOs.
  • Comentários Ruins: Murmúrios, Redundantes, Enganosos, Obrigatórios, Ruído, Marcadores de Posição.

4. Formatação

  • A Metáfora do Jornal: Conceitos de alto nível no topo, detalhes na parte inferior.
  • Densidade Vertical: Linhas relacionadas devem estar próximas umas das outras.
  • Distância: Variáveis devem ser declaradas perto de seu uso.
  • Indentaçao: Essencial para legibilidade estrutural.

5. Objetos e Estruturas de Dados

  • Abstração de Dados: Oculte a implementação por trás de interfaces.
  • A Lei de Deméter: Um módulo não deve conhecer os detalhes internos dos objetos que manipula. Evite a.getB().getC().doSomething().
  • Data Transfer Objects (DTO): Classes com variáveis públicas e sem funções.

6. Tratamento de Erros

  • Use Exceções em Vez de Códigos de Retorno: Mantém a lógica limpa.
  • Escreva Try-Catch-Finally Primeiro: Define o escopo da operação.
  • Não Retorne Null: Força o chamador a verificar null toda vez.
  • Não Passe Null: Leva a NullPointerException.

7. Testes de Unidade

  • As Três Leis do TDD:
    1. Não escreva código de produção até ter um teste de unidade falhando.
    2. Não escreva mais de um teste de unidade do que o suficiente para falhar.
    3. Não escreva mais código de produção do que o suficiente para passar no teste que falhou.
  • Princípios F.I.R.S.T.: Fast (Rápido), Independent (Independente), Repeatable (Repetível), Self-Validating (Auto-Validável), Timely (Oportuno).

8. Classes

  • Pequenas!: Classes devem ter uma única responsabilidade (SRP).
  • A Regra de Descida: Queremos que o código seja lido como uma narrativa de cima para baixo.

9. Cheiros e Heurísticas

  • Rigidez: Difícil de mudar.
  • Fragilidade: Quebra em muitos lugares.
  • Imobilidade: Difícil de reutilizar.
  • Viscosidade: Difícil de fazer a coisa certa.
  • Complexidade/Repetição Desnecessária.

🛠️ Checklist de Implementação

  • Esta função tem menos de 20 linhas?
  • Esta função faz exatamente uma coisa?
  • Todos os nomes são pesquisáveis e revelam a intenção?
  • Evitei comentários tornando o código mais claro?
  • Estou passando muitos argumentos?
  • Existe um teste falhando para esta mudança?

Exemplo

Solicitação do usuário:

Refatore este código funcional para nomes mais claros, unidades menores, erros explícitos e comportamento preservado; verifique-o com testes focados.

Limitações

  • Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
  • Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.

…

Perguntas frequentes

O que é 'código limpo'?

Código limpo é aquele que é fácil de ler e entender por qualquer programador, mesmo que não tenha sido ele quem escreveu originalmente.

Por que usar nomes mais claros no código?

Nomes claros ajudam a entender o que o código faz sem precisar de explicações extras. Por exemplo, 'tempoDecorridoEmDias' é melhor que 'd'.

O que são 'cheiros de código'?

São sinais em um código que indicam que algo pode estar errado ou que ele pode ser melhorado, como nomes confusos, funções muito longas ou código repetido.

Detalhes

Descrição original do autor

This skill embodies the principles of \"Clean Code\" by Robert C. Martin (Uncle Bob). Use it to transform \"code that works\" into \"code that is clean.\

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2537
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas