Pular para o conteúdo
Skillpedia
Código em geral280 mil · #26

coding-standards

Estabelece regras básicas de codificação para vários projetos, focando em nomes, legibilidade e qualidade. Use quando precisar revisar a qualidade do código sem regras específicas de um framework.

O que ela faz

Esta ferramenta ajuda a garantir que o código escrito siga boas práticas de programação. Ela verifica nomes de variáveis, legibilidade, se os dados são imutáveis (não mudam depois de criados) e a qualidade geral do código.

Quando usar

  • ✓Ao iniciar um novo projeto ou parte dele.
  • ✓Ao revisar o código de outra pessoa para garantir que está claro e fácil de manter.
  • ✓Ao organizar ou melhorar código já existente.

Exemplo do que pedir para a IA

“Revise este código para garantir que ele segue boas práticas de nomenclatura e legibilidade.”

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/affaan-m/ECC/blob/main/pi/core/skills/coding-standards/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/pi/core/skills/coding-standards/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta compara o código com regras pré-definidas de clareza, simplicidade e organização. Ela verifica se os nomes são descritivos e se o código é fácil de entender e manter.

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 affaan-m/ECC --skill coding-standards

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/coding-standards/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.

Padrões de Código e Melhores Práticas

Convenções de codificação de base aplicáveis a todos os projetos.

Essa habilidade é o piso compartilhado, não o manual detalhado do framework.

  • Use frontend-patterns para React, estado, formulários, renderização e arquitetura de UI.
  • Use backend-patterns ou api-design para camadas de repositório/serviço, design de endpoints, validação e preocupações específicas do servidor.
  • Use rules/common/coding-style.md quando precisar da camada de regras reutilizável mais curta em vez de um guia completo de habilidades.

Quando Ativar

  • Iniciando um novo projeto ou módulo
  • Revisando código para qualidade e manutenibilidade
  • Refatorando código existente para seguir convenções
  • Aplicando consistência de nomenclatura, formatação ou estrutura
  • Configurando regras de linting, formatação ou verificação de tipos
  • Integrando novos colaboradores às convenções de codificação

Limites de Escopo

Ative esta habilidade para:

  • nomenclatura descritiva
  • padrões de imutabilidade por padrão
  • aplicação de legibilidade, KISS, DRY e YAGNI
  • expectativas de tratamento de erros e revisão de "code smells"

Não use esta habilidade como fonte primária para:

  • composição de React, hooks ou padrões de renderização
  • arquitetura de backend, design de API ou camadas de banco de dados
  • orientação de framework específica de domínio quando uma habilidade ECC mais restrita já existe

Princípios de Qualidade de Código

1. Legibilidade em Primeiro Lugar

  • O código é lido mais do que escrito
  • Nomes claros de variáveis e funções
  • Código autoexplicativo preferível a comentários
  • Formatação consistente

2. KISS (Mantenha Simples, Estúpido)

  • A solução mais simples que funciona
  • Evite engenharia excessiva
  • Sem otimização prematura
  • Fácil de entender > código esperto

3. DRY (Não Se Repita)

  • Extraia lógica comum em funções
  • Crie componentes reutilizáveis
  • Compartilhe utilitários entre módulos
  • Evite programação de copiar e colar

4. YAGNI (Você Não Vai Precisar Disso)

  • Não crie funcionalidades antes que sejam necessárias
  • Evite generalidade especulativa
  • Adicione complexidade apenas quando necessário
  • Comece simples, refatore quando necessário

Padrões TypeScript/JavaScript

Nomenclatura de Variáveis

// PASS: GOOD: Descriptive names
const marketSearchQuery = 'election'
const isUserAuthenticated = true
const totalRevenue = 1000

// FAIL: BAD: Unclear names
const q = 'election'
const flag = true
const x = 1000

Nomenclatura de Funções

// PASS: GOOD: Verb-noun pattern
async function fetchMarketData(marketId: string) { }
function calculateSimilarity(a: number[], b: number[]) { }
function isValidEmail(email: string): boolean { }

// FAIL: BAD: Unclear or noun-only
async function market(id: string) { }
function similarity(a, b) { }
function email(e) { }

Padrão de Imutabilidade (CRÍTICO)

// PASS: ALWAYS use spread operator
const updatedUser = {
  ...user,
  name: 'New Name'
}

const updatedArray = [...items, newItem]

// FAIL: NEVER mutate directly
user.name = 'New Name'  // BAD
items.push(newItem)     // BAD

Tratamento de Erros

// PASS: GOOD: Comprehensive error handling
async function fetchData(url: string) {
  try {
    const response = await fetch(url)

    if (!response.ok) {
      throw new Error(`HTTP ${response.status}: ${response.statusText}`)
    }

    return await response.json()
  } catch (error) {
    console.error('Fetch failed:', error)
    throw new Error('Failed to fetch data')
  }
}

// FAIL: BAD: No error handling
async function fetchData(url) {
  const response = await fetch(url)
  return response.json()
}

Melhores Práticas Async/Await

// PASS: GOOD: Parallel execution when possible
const [users, markets, stats] = await Promise.all([
  fetchUsers(),
  fetchMarkets(),
  fetchStats()
])

// FAIL: BAD: Sequential when unnecessary
const users = await fetchUsers()
const markets = await fetchMarkets()
const stats = await fetchStats()

Segurança de Tipos

// PASS: GOOD: Proper types
interface Market {
  id: string
  name: string
  status: 'active' | 'resolved' | 'closed'
  created_at: Date
}

function getMarket(id: string): Promise<Market> {
  // Implementation
}

// FAIL: BAD: Using 'any'
function getMarket(id: any): Promise<any> {
  // Implementation
}

Melhores Práticas de React

Estrutura de Componentes

// APROVADO: BOM: Componente funcional com tipos
interface ButtonProps {
  children: React.ReactNode
  onClick: () => void
  disabled?: boolean
  variant?: 'primary' | 'secondary'
}

export function Button({
  children,
  onClick,
  disabled = false,
  variant = 'primary'
}: ButtonProps) {
  return (

…
Perguntas frequentes

O que significa 'imutabilidade'?

Imutabilidade significa que uma vez que um dado é criado, ele não pode ser alterado. Em programação, isso ajuda a evitar erros inesperados, pois os dados não mudam de forma não intencional.

O que são 'boas práticas' de código?

São um conjunto de regras e recomendações que ajudam a escrever código de alta qualidade, que seja fácil de ler, entender, manter e que funcione corretamente.

Quando devo usar esta ferramenta em vez de outras mais específicas?

Use esta ferramenta quando precisar de regras gerais de qualidade de código que se aplicam a qualquer projeto, sem focar em detalhes de uma tecnologia específica como React ou Node.js.

Detalhes

Descrição original do autor

Baseline cross-project coding conventions for naming, readability, immutability, and code-quality review. Use detailed frontend or backend skills for framework-specific patterns. Use when reviewing code quality or naming with no framework-specific skill that applies.

repo: affaan-m/ECC

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas