Ben kör kodu ve her yöntemin içinde mevcut her bir alan için boş karşı savunmak fikrine karşı değilim.
beni boş değerlere karşı kontrol nereye karar aşağıdaki yardım:
1- yöntemlerinizi çağırma olacak?
bir yöntem özel ve bunu erişilen ediliyor bulunuyor üzerinde kontrol sahibi, ben buna boş değerler beklemek yöntemin mantığının parçası olmadıkça boş çekler karşı korumak için mantıklı görmüyorum. Bir yöntem kamuya açıksa (API gibi), tabiki boş çekler çok büyük bir endişe olmalıdır.
2- Yazılım Tasarım: method1(fromAnimalToString(animal));
arayarak ve nedense fromAnimalToString()
için olan var
Görüntü asla (Gerçi bunun yerine boş bir dize döndürebilir) null döndürür.
Sonra böyle durumda, Method1 içinde animal != null
() 'in bedeni kontrol etmek mantıklı olmaz
3- Test: Yazılım mühendisliğinde
, her zamankinden geleni olası senaryoları test etmek neredeyse imkansız yürütün. Bununla birlikte, normal ve alternatif senaryoları test edin ve akışın beklendiği gibi olduğundan emin olun.
sadece zaman nesneye referans 'null' olup olmadığını görmek için kontrol etmek daha kolay olmaz mı? Başka bir rotaya da gidebilir ve kullandığınız nesnenin boş olduğundan emin olamazsınız. –
* Her * nesne başvurusu için? : Bazıları asla boş olamaz (kurucuda ayarlanırlar). –
Kod Sözleşmeleri kullanmıyor olsanız bile, yöntemlerin başında koruyucu maddeler yazmalısınız. – jason