Otomatik Sistemler İstisnayı Neden Kaçırır? Filtre ve Formun Sınırı
Yazılımlar kuralla çalışır, hayat ise istisnayla doludur. İsimden tarihe, filtreden forma kural dışı kalan durumlar ve bu duruma düşünce yapılabilecekler.
Selin Gökçen 4 dk okuma
Telefonda yazdığınız özel bir ismi düzeltip bozan otomatik tamamlama, önemli bir e-postayı istenmeyen klasörüne atan filtre, geçerli bir adresi kabul etmeyen form alanı ve kimlik doğrulamada sizi tanımayan sistem. Bunların hepsi aynı sorunun farklı yüzleridir: yazılımlar kuralla çalışır, hayat ise istisnayla doludur. Bir sistem ne kadar çok durumu doğru işlerse işlesin, kuralın dışına düşen küçük bir azınlık her zaman kalır ve o azınlığın içine düşen kullanıcı için sistem tümüyle bozuk görünür.
Yazılım Neden Kuralla Çalışmak Zorunda?
Bilgisayarlar tek tek durumları değil, durum tanımlarını işler. Bir e-posta adresinin geçerli sayılması için bir kalıp, bir dosya adının kabul edilmesi için bir karakter kümesi, bir işlemin şüpheli sayılması için bir eşik tanımlanır. Bu tanımlar olmadan sistem hiçbir karar veremez. Ancak her tanım aynı zamanda bir sınır çizer ve o sınırın hemen dışında, gerçek hayatta var olan ama tanımın kapsamadığı örnekler bulunur. Sorun kötü yazılmış koddan değil, tanımın doğası gereği eksik olmasından kaynaklanır.
İsimler: En Sık Kırılan Varsayım
Yazılımların kişi isimleri konusunda kurduğu varsayımlar, istisnaların en görünür alanıdır. Herkesin bir adı ve bir soyadı olduğu, isimlerin belirli bir uzunlukta olduğu, boşluk veya kesme işareti içermediği, Latin alfabesiyle yazıldığı gibi kabuller çok yaygındır. Oysa tek isimle yaşayan, çok parçalı soyadı taşıyan, adında noktalama bulunan ya da farklı bir alfabe kullanan milyonlarca insan vardır. Bu kişiler için form doldurmak, kural dışı olmanın günlük ve yorucu bir örneğine dönüşür.
Tarih, Saat ve Adres Tuzakları
Zaman, yazılımın istisnalarla en çok boğuştuğu alanlardan biridir. Ayların farklı gün sayıları, artık yıl, saat diliminin yıl içinde değişmesi ve gün ışığı uygulamasının ülkeden ülkeye farklı işlemesi, basit görünen bir tarih hesabını karmaşık hale getirir. Adresler de benzerdir: her ülkede posta kodu aynı biçimde olmaz, her yerleşimde sokak adı bulunmaz, bazı adreslerde kapı numarası yerine tarif kullanılır. Tek bir kalıba göre tasarlanmış form, bu durumların hepsini hatalı sayar.
Filtreler ve Eşik Sorunu
İstenmeyen posta filtreleri, sahtecilik kontrolleri ve içerik denetimleri eşiklerle çalışır. Eşik yükseltildiğinde gerçek sorunlar gözden kaçar, düşürüldüğünde masum kullanımlar engellenir. İkisi arasında kusursuz bir nokta yoktur; her ayar bir tür hatayı azaltırken diğerini artırır. Bu yüzden iyi tasarlanmış sistemlerde asıl mesele eşiğin yerinden çok, yanlış sınıflanan durumun kolayca düzeltilebilmesidir. Kullanıcının itiraz edebildiği, kararı görebildiği ve geri alabildiği bir akış, mükemmel bir eşikten daha değerlidir.
Kural Dışı Kalan Kullanıcı Ne Yapabilir?
- Hata mesajını okuyun: Genellikle hangi kuralın çiğnendiğini üstü kapalı da olsa söyler.
- Biçimi sadeleştirin: Özel karakter, fazladan boşluk ve satır sonu birçok formda sessizce reddedilir.
- Aynı işlemi farklı bir yoldan deneyin: Uygulama ile web arayüzü çoğu zaman farklı kurallar uygular.
- Otomatik düzeltmeyi kapatın veya kelimeyi sözlüğe ekleyin; aynı hatayla her defasında uğraşmaktan kurtulursunuz.
- Filtreye takılan yazışmalar için gönderen adresini güvenilirler listesine ekleyin.
- Kaydı düzeltemiyorsanız destek kanalına başvurun; birçok sistemde elle düzeltme yetkisi bulunur.
Tasarımcı Tarafında İstisnaya Yer Açmak
Bir sistemi kurgulayanlar için en pratik yaklaşım, kuralı gevşetmek yerine kaçış yolu bırakmaktır. Serbest metin alanı, "listede yok" seçeneği, elle onay basamağı ve düzeltme talebi kanalı, kuralın dışına düşen durumları sistemden atmadan içeride tutar. Ayrıca kabul edilen biçimi kullanıcıya baştan söylemek, hatadan sonra açıklamaktan çok daha etkilidir. Doğrulamayı gerektiğinden katı yapmak, yanlış veriyi engellemekten çok doğru veriyi reddetmeye yarar.
Otomatik Kararın Geri Alınabilir Olması
Kuralla çalışan her sistem hata yapacaktır; bu kaçınılmazdır. Belirleyici olan, hatanın sonucunun kalıcı olup olmadığıdır. Silinen bir içeriğin çöp kutusunda bir süre beklemesi, engellenen bir işlemin itiraz edilebilir olması, otomatik kararın yanına insan denetimi eklenmesi sistemin güvenilirliğini kural doğruluğundan daha fazla artırır. Kullanıcı gözünde iyi sistem, hiç yanılmayan değil, yanıldığında kolayca düzeltilebilen sistemdir.
Yapay Sınırların Zamanla Eskimesi
Bir zamanlar makul görünen sınırlar teknoloji değiştikçe anlamsızlaşır: karakter sınırları, dosya adı kısıtları, alan uzunlukları. Eski varsayımlarla kurulmuş sistemler, koşullar değiştiği halde aynı kuralı uygulamayı sürdürdüğü için gitgide daha çok kullanıcıyı istisna haline getirir. Bu yüzden kuralları düzenli aralıklarla gözden geçirmek, yeni kural yazmak kadar önemlidir.
Otomatik sistemlerin istisnayı kaçırması bir arıza değil, kuralla çalışmanın doğal bedelidir. Kullanıcı tarafında bunu bilmek, kendini suçlamadan alternatif bir yol aramayı kolaylaştırır. Tasarım tarafında ise doğru hedef kusursuz bir kural yazmak değil, kuralın dışına düşenler için açık bir kapı bırakmaktır. Kural çoğunluğu taşır, istisnaya bırakılan kapı ise sistemin gerçekten kullanılabilir olup olmadığını belirler.