원클릭으로
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?