Files
everything-claude-code/docs/es/commands/go-review.md
Santiago González Siordia ac0f11c640 docs: add Spanish (es) translation (#2095)
Adds a complete Spanish translation of the ECC documentation under
docs/es/, mirroring the Turkish (docs/tr/) translation in scope.
141 files covering agents, commands, rules, skills, contexts, examples,
and core docs. Updates root README.md with the Spanish language link.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 13:26:42 +08:00

125 lines
3.5 KiB
Markdown

---
description: Revisión de código Go completa para patrones idiomáticos, seguridad de concurrencia, manejo de errores y seguridad. Invoca al agente go-reviewer.
---
# Revisión de Código Go
Este comando invoca al agente **go-reviewer** para una revisión de código Go completa y específica.
## Qué Hace Este Comando
1. **Identificar Cambios de Go**: Encontrar archivos `.go` modificados mediante `git diff`
2. **Ejecutar Análisis Estático**: Ejecutar `go vet`, `staticcheck` y `golangci-lint`
3. **Escaneo de Seguridad**: Verificar inyección SQL, inyección de comandos, condiciones de carrera
4. **Revisión de Concurrencia**: Analizar seguridad de goroutines, uso de canales, patrones de mutex
5. **Verificación de Go Idiomático**: Verificar que el código sigue las convenciones y mejores prácticas de Go
6. **Generar Reporte**: Categorizar problemas por severidad
## Cuándo Usar
Usar `/go-review` cuando:
- Después de escribir o modificar código Go
- Antes de hacer commit de cambios de Go
- Al revisar pull requests con código Go
- Al incorporarse a una nueva base de código de Go
- Al aprender patrones idiomáticos de Go
## Categorías de Revisión
### CRÍTICO (Debe Corregirse)
- Vulnerabilidades de inyección SQL/comandos
- Condiciones de carrera sin sincronización
- Fugas de goroutines
- Credenciales hardcodeadas
- Uso de punteros inseguros
- Errores ignorados en rutas críticas
### ALTO (Debería Corregirse)
- Manejo de errores sin context
- Panic en lugar de retorno de errores
- Context no propagado
- Canales sin buffer causando deadlocks
- Errores de interfaz no satisfecha
- Protección de mutex faltante
### MEDIO (Considerar)
- Patrones de código no idiomáticos
- Comentarios godoc faltantes en exports
- Concatenación de strings ineficiente
- Slice no preasignado
- Pruebas table-driven no usadas
## Verificaciones Automáticas Ejecutadas
```bash
# Análisis estático
go vet ./...
# Verificaciones avanzadas (si están instaladas)
staticcheck ./...
golangci-lint run
# Detección de condiciones de carrera
go build -race ./...
# Vulnerabilidades de seguridad
govulncheck ./...
```
## Ejemplo de Uso
```text
Usuario: /go-review
Agente:
# Reporte de Revisión de Código Go
## Archivos Revisados
- internal/handler/user.go (modificado)
- internal/service/auth.go (modificado)
## Resultados del Análisis Estático
✓ go vet: Sin problemas
✓ staticcheck: Sin problemas
## Problemas Encontrados
[CRÍTICO] Condición de Carrera
Archivo: internal/service/auth.go:45
Problema: Mapa compartido accedido sin sincronización
Fix: Usar sync.RWMutex o sync.Map
[ALTO] Context de Error Faltante
Archivo: internal/handler/user.go:28
Problema: Error retornado sin context
Fix: Envolver con context
return fmt.Errorf("get user %s: %w", userID, err)
## Resumen
- CRÍTICO: 1
- ALTO: 1
- MEDIO: 0
Recomendación: FALLAR: Bloquear merge hasta que se corrija el problema CRÍTICO
```
## Criterios de Aprobación
| Estado | Condición |
|--------|-----------|
| PASAR: Aprobar | Sin problemas CRÍTICOS o ALTOS |
| ADVERTENCIA | Solo problemas MEDIOS (fusionar con precaución) |
| FALLAR: Bloquear | Problemas CRÍTICOS o ALTOS encontrados |
## Integración con Otros Comandos
- Usar `/go-test` primero para asegurarse de que las pruebas pasen
- Usar `/go-build` si ocurren errores de build
- Usar `/go-review` antes de hacer commit
- Usar `/code-review` para preocupaciones no específicas de Go
## Relacionado
- Agente: `agents/go-reviewer.md`
- Skills: `skills/golang-patterns/`, `skills/golang-testing/`