Claude Code: Uso Básico do Claude Code
Última atualização: 2026-08-31
O uso básico é o kit de ferramentas diário do Claude Code — desde escrever código até corrigir bugs, desde refatorar até escrever testes, cobrindo os cenários centrais de trabalho dos desenvolvedores.
📋 Pré-requisitos: Capítulo 7 - Modo Interativo e Guia de Operação
1. O Que Você Vai Aprender
- Geração e completude de código
- Correção de bugs e depuração
- Refatoração de código
- Escrita de testes
- Code review
- Geração de documentação
2. Geração de Código
(1) Criar Arquivos do Zero
> Create src/services/email.ts with email sending service:
> - Support HTML and plain text formats
> - Use template engine for rendering
> - Add retry mechanism (max 3 attempts)
> - Write unit tests (mock SMTP)
Claude Code:
→ Creating src/services/email.ts
→ Creating src/services/__tests__/email.test.ts
→ Installing dependencies: nodemailer, handlebars
→ Running: npm test -- email.test.ts
✅ 5 tests passed
(2) Estender Baseado em Código Existente
> Add password reset functionality to UserService
Claude Code:
→ Reading src/services/user.ts
→ Reading src/models/user.ts
→ Reading src/services/email.ts (existing email service)
→ Modifying src/services/user.ts (adding resetPassword)
→ Modifying src/routes/user.ts (adding POST /reset-password)
→ Creating tests for password reset
✅ All tests passed
▶ Exemplo 1: Gerar Módulo CRUD
> Create complete Product CRUD module:
> 1. Prisma model definition
> 2. Repository layer
> 3. Service layer
> 4. Controller layer
> 5. Route definitions
> 6. Complete tests
Claude Code: Created 6 files, 12 tests all passing ✅
3. Correção de Bugs
(1) Especificar Correção de Bug
> Fix the relativeTime calculation error in src/utils/date.ts when crossing years
Claude Code:
→ Reading src/utils/date.ts
→ Found bug: relativeTime uses daysOnly comparison
→ Fixing: adding year boundary check
→ Running: npm test -- date.test.ts
✅ All tests passed (including new edge case)
(2) Corrigir Baseado em Mensagens de Erro
> Run tests and fix all failing cases
Claude Code:
→ Running: npm test
❌ 3 tests failed
→ Reading failed test files...
→ Fixing each failing test
→ Running: npm test
✅ All 47 tests passed
▶ Exemplo 2: Correção de Erro em Runtime
> App startup error: TypeError: Cannot read property 'id' of undefined at UserController.getProfile
Claude Code:
→ Found: getProfile doesn't check if req.user exists
→ Adding null check with proper error response
→ Running: npm test -- user.controller.test.ts
✅ All tests passed
4. Refatoração de Código
(1) Refatoração em Nível de Função
> Refactor formatCurrency in src/utils/format.ts to use Intl.NumberFormat
Claude Code:
→ Replacing manual formatting with Intl.NumberFormat
→ Adding locale support (default: en-US)
→ Running: npm test -- format.test.ts
✅ All tests passed
(2) Refatoração em Nível de Módulo
> Reorganize all utility functions under src/helpers/ into src/utils/ by function:
> - Date related → utils/date.ts
> - String related → utils/string.ts
> - Number related → utils/number.ts
> Update all import paths
Claude Code:
→ Moving functions with proper exports
→ Updating 32 import statements
→ Deleting src/helpers/
→ Running: npm test
✅ All 89 tests passed
5. Escrita de Testes
▶ Exemplo 3: Geração de Testes em Lote
> Write tests for all services under src/services/ without tests, coverage target 80%
Claude Code:
→ Scanning 8 service files
→ Missing tests found in 3 services
→ Writing tests for each
→ Running: npm test
✅ All new tests passed
Coverage average: 85% ✓
6. Code Review e Documentação
(1) Code Review
> Review src/auth/jwt.ts for security issues
Claude Code:
⚠️ Found 3 issues:
1. Hardcoded secret key (line 12) → Use env variable
2. No token expiry validation (line 34) → Add expiry check
3. Algorithm not specified (line 8) → Force RS256
(2) Geração de Documentação
> Generate API documentation for all routes under src/api/
Claude Code:
→ Reading all route files (12 files)
→ Generating docs/api.md with endpoint listing, examples, and error codes
7. Exemplo Completo: Desenvolvimento de Fluxo Completo
> Implement user permission system:
> 1. Define Role and Permission models
> 2. Implement RBAC middleware
> 3. Add permission check decorators
> 4. Write complete integration tests
> 5. Generate API documentation
Claude Code: 8 files created, 4 modified, 15 tests passing ✅
❓ Perguntas Frequentes
P: Como é a qualidade do código gerado pelo Claude Code? R: Alta para padrões comuns e implementações padrão. Lógica de negócios complexa e casos especiais ainda precisam de revisão humana. Sempre revise o código gerado.
P: Pode corrigir múltiplos bugs de uma vez? R: Sim. Descreva cada bug claramente e o Claude Code os corrige um a um. Mas focar em um bug por vez reduz a probabilidade de erro.
P: A refatoração vai quebrar funcionalidade existente? R: Se o projeto tem testes abrangentes, o Claude Code garante que passem. Sem testes, a refatoração é mais arriscada — recomenda-se adicionar testes primeiro.
P: Os testes são bem escritos? R: A qualidade dos testes unitários é boa, especialmente para happy paths e edge cases comuns. Condições de contorno e cenários complexos de mock podem precisar de complemento manual.
P: O code review pode substituir a revisão humana? R: Não inteiramente. O Claude Code é bom em encontrar problemas comuns de segurança e estilo, mas a correção da lógica de negócios ainda requer julgamento humano.
P: Como fazer o Claude Code seguir o estilo de código do projeto? R: Escreva convenções de código no CLAUDE.md. Também peça para ele ler a config do ESLint/Prettier primeiro.
📖 Resumo
- Geração de código: De arquivos únicos a módulos CRUD completos
- Correção de bugs: Localiza e corrige automaticamente baseado em mensagens de erro ou descrições
- Refatoração: De função a nível de módulo, atualiza todas as referências automaticamente
- Testes: Suplementa testes em lote, garante metas de cobertura atingidas
- Review e docs: Review de segurança, geração automática de documentação de API
- Vantagem central: Ciclo fechado Entender → Modificar → Verificar → Iterar
📝 Exercícios
- Básico (⭐): Use o Claude Code para gerar testes unitários para uma função, verifique a qualidade dos testes.
- Intermediário (⭐⭐): Introduza intencionalmente um bug, use o Claude Code para corrigi-lo, observe seu processo de localização e correção.
- Avançado (⭐⭐⭐): Faça o Claude Code completar um módulo de funcionalidade completo (model+service+route+test+docs), revise todo o código gerado.