İçeriğe geç

Değiştirilebilir Global Durum (ARCH5187)

Anahtar go.quality.mutable-package-var · Önem warning · Kategori quality

Paket düzeyinde değiştirilebilir değişkenler gizli bağlantı yaratır, eşzamanlılıkta yarış oluşturur ve testleri kırılgan kılar. Durumu enjekte edin veya sabit yapın.

var Config = map[string]string{}
func Set(k, v string) { Config[k] = v }
type Store struct{ data map[string]string }
func NewStore() *Store { return &Store{data: map[string]string{}} }
func (s *Store) Set(k, v string) { s.data[k] = v }

Paylaşılan değiştirilebilir durumu bir yapıya kapatıp bağımlılık olarak enjekte edin.