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

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • finalcall07

    finalcall07

    11 NİSAN 2008
  • Good Creative Academy

    Good Creativ

    19 Kasım 2009