SORU
6 EYLÜL 2008, CUMARTESİ


Sihirli bir numara, ne olduğunu ve neden kötü?

Bir sihirbazlık numarası nedir?

Niçin kaçınılmalıdır?

Uygun olduğu durumlar var mı?

CEVAP
6 EYLÜL 2008, CUMARTESİ


Sihirli bir numara kod numarası doğrudan bir kullanımdır.

public class Foo {
    public void setPassword(String password) {
         // don't do this
         if (password.length() > 7) {
              throw new InvalidArgumentException("password");
         }
    }
}

Bunun için refactored olmalıdır:

public class Foo {
    public static final int MAX_PASSWORD_SIZE = 7;

    public void setPassword(String password) {
         if (password.length() > MAX_PASSWORD_SIZE) {
              throw new InvalidArgumentException("password");
         }
    }
}

Kod okunabilirliği arttırır ve daha kolay korumak için. GUI parola alanı boyutunu ayarlayın durumunda düşünün. Eğer sihirli bir numara kullanıyorum, max boyutu değiştiğinde, iki kod konumlarını değiştirmek zorundayım. Ben bir unutursanız, bu tutarsızlıklara yol açacaktır.

Bu FIRSATLAR tam sayı, Karakter ve Matematik dersleri gibi örneklerle dolu.

PS.: FindBugs ve PMD gibi statik analiz araçları kodunuzu sihirli numaraları algılar ve yeniden düzenleme öneriyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alexis gillis

    alexis gilli

    23 HAZİRAN 2011
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • thewinekone

    thewinekone

    17 Aralık 2005