بنقرة واحدة
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?