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

  • dope2111

    dope2111

    29 HAZİRAN 2009
  • NightShader1

    NightShader1

    25 Temmuz 2006
  • RealPapaPit

    RealPapaPit

    16 Mart 2009