一键导入
go-refactoring
Refactorización segura de código Go. Usar al mejorar estructura de código o eliminar duplicación.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Refactorización segura de código Go. Usar al mejorar estructura de código o eliminar duplicación.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guía para trabajar con StructureDefinitions y ElementDefinitions en FHIR. Usar cuando se necesite entender o manipular definiciones de estructura.
Diseño de arquitectura limpia y modular en Go. Usar al diseñar un nuevo módulo, definir capas y responsabilidades, u organizar código.
Benchmarks y profiling en Go. Usar al medir rendimiento, comparar implementaciones, o identificar bottlenecks.
Patrones de caching y pooling en Go. Usar al implementar caches, reducir allocations, o cachear resultados costosos.
Revisión de código Go. Usar al revisar PRs, verificar calidad de código, o identificar problemas potenciales.
Composición, embedding y extensibilidad en Go. Usar al extender tipos existentes o combinar comportamientos.
| name | go-refactoring |
| description | Refactorización segura de código Go. Usar al mejorar estructura de código o eliminar duplicación. |
| allowed-tools | Read, Grep, Glob, Bash(go test:*) |
Refactorización segura de código Go.
// Antes: función larga
func (v *Validator) Validate(...) (*Result, error) {
// 100 líneas...
}
// Después: funciones extraídas
func (v *Validator) Validate(...) (*Result, error) {
sd, err := v.loadStructureDefinition(ctx, resourceType)
v.validateStructure(resource, sd, result)
v.validateConstraints(ctx, resource, sd, result)
return result, nil
}
// Antes: dependencia concreta
type Validator struct {
registry *Registry
}
// Después: dependencia de interface
type Validator struct {
registry StructureDefinitionProvider // Interface
}
// Antes
if x > 0 {
if x < 100 {
return doSomething(x)
}
}
return errors.New("invalid")
// Después
if x <= 0 || x >= 100 {
return errors.New("invalid")
}
return doSomething(x)
- [ ] ¿Hay tests que cubren el código?
- [ ] ¿Los tests pasan antes y después?
- [ ] ¿Cambios pequeños e incrementales?