Sihirli Sayı (ARCH5182)
Anahtar go.quality.magic-number · Önem info · Kategori quality
İfade içinde açıklamasız sayısal değerler niyeti gizler ve birden çok yerde değiştirilmesi zorlaşır. Anlamlı bir sabite çıkarın.
Hatalı
Bölüm başlığı “Hatalı”func Retry(fn func() error) error { for i := 0; i < 5; i++ { if err := fn(); err == nil { return nil } time.Sleep(250 * time.Millisecond) } return errExhausted}const ( maxRetries = 5 retryDelay = 250 * time.Millisecond)
func Retry(fn func() error) error { for i := 0; i < maxRetries; i++ { if err := fn(); err == nil { return nil } time.Sleep(retryDelay) } return errExhausted}Düzeltme
Bölüm başlığı “Düzeltme”Sayısal sabitleri açıklayıcı bir adla const olarak tanımlayın.