Junior
Neden null ile ilgili hatalar 'bir milyonluk hatalar' olarak adlandırılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
null ile ilgili hatalar "bir milyar dolarlık hatalar" olarak adlandırılır (bir milyon değil), çünkü onlar on yıllar boyunca büyük finansal kayıplara ve yazılım sorunlarına neden olmuştur. ALGOL dilinde null (başlangıçta NIL) kavramını yaratan Tony Hoare, daha sonra bunun "bir milyar dolarlık hatası" olduğunu kabul etti, çünkü o zamanlar güvenlik sorunlarını öngörememişti.
Sorunlar şunlardan kaynaklanır:
- Belirsizlik:
null, farklı bağlamlarda farklı şeyler ifade edebilir (değer yokluğu, hata, işlenmemiş durum), bu da kodun anlaşılmasını zorlaştırır. - Güvenlik sorunları:
nulldeğeri üzerinde işlem yapmaya çalışmak (örneğin, metod çağırmak veya özelliğe erişmek) istisna ile sonuçlanır (NullPointerExceptiongenellikle), bu da uygulama hatalarına yol açabilir. - Kontrol gerekliliği: Geliştiriciler, değişkenleri kullanmadan önce sürekli
nullkontrolleri eklemek zorunda kalır, bu da kodun hacmini ve karmaşıklığını artırır.
Flutter ve Dart'ta, null güvenliği getirildiğinde, bu sorun önemli ölçüde azaldı, çünkü varsayılan olarak tipler null olamaz (String?, int? gibi açık gösterimler olmadan), bu da derleyicinin potansiyel hataları çalıştırmadan önce tespit etmesine olanak tanır.
// Null güvenliği öncesi
String name = null; // Bu mümkündü
// Null güvenliği ile
// String name = null; // Derleme hatası
String? nullableName = null; // İzin verilir, ama açıkça belirtilmiş