İçeriğe geç

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.

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
}

Sayısal sabitleri açıklayıcı bir adla const olarak tanımlayın.