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

  • Dive In

    Dive In

    17 Temmuz 2013
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011