EYDefterEmre Yakut
← tüm yazılar
Saha · Sistem

Formu değil, kararı doldurtmak

Bir muayene laboratuvarının talep formunu yazarken şunu fark ettim: insanlar “hangi muayene tipini istiyorsunuz?” sorusunun cevabını bilmiyor. Bilmeleri de gerekmiyor — sistem hesaplayabilir.

talep tek giriş sayaç tipi? ısı · su ilk muayene yeni sayaç periyodik 10 yıl / şüphe ölçüm planı TÜRKAK AB-0606-M her adım tek soru sorar — cevap bir sonraki soruyu belirlerkullanıcı formu değil, kararı doldururmevzuat dalları veriden değil politikadan gelir: koda gömülmez, tabloya yazılır

Termolab bir ısı sayacı muayene laboratuvarı. Akreditasyonu var, kapsamı belli, kimin ne zaman başvuracağı mevzuatla tanımlı.

Site yenilenirken en kritik parça ana sayfa değildi — talep formuydu. Çünkü form o işin kapısı. Yanlış doldurulan her talep bir telefon görüşmesi ve iki gün gecikme demek.

Yanlış soru

Eski formda ilk soru şuydu:

Muayene tipi:  ( ) İlk muayene
               ( ) Periyodik muayene
               ( ) Şikâyet muayenesi
               ( ) Stok muayenesi

Doğru bir soru. Ama yanlış kişiye soruluyor. Bir site yöneticisi ya da tesisatçı, elindeki sayacın hangi kapsama girdiğini bilmek zorunda değil. O sadece “bu sayacın zamanı geldi mi?” diye merak ediyor.

İyi bir form, kullanıcıya bildiği şeyi sorar; bilmediği şeyi hesaplar.

Bildiği şey: üretim yılı

Sayacın üstünde iki şey yazıyor: tipi ve üretim yılı. İkisi de okunabiliyor. Gerisi aritmetik.

periyodik muayene penceresi
muayene_yılı = üretim_yılı + 4 · başvuru: Ocak–Şubat

Sayaç 2021’de üretildiyse 2025 Ocak–Şubat’ta muayeneye girer. Kullanıcı “2021” yazar, sistem “süresi geçmiş” der ve kutu kırmızıya döner.

Beş adımın sonunda kullanıcı hiçbir mevzuat terimi seçmemiş oluyor. Sistem doğru kapsamı kendisi belirliyor ve üç durumdan birini gösteriyor:

  • süresi geçmiş — kırmızı, “hemen başvurun”
  • yaklaşıyor — sarı, “pencereniz açılıyor”
  • zamanı değil — yeşil, “bir sonraki muayene şu yıl”

Üçüncüsü özellikle önemli: sisteme hayır dedirtebilmek. Gereksiz başvuruyu kapıda eleyen bir form, laboratuvarın da işini kolaylaştırıyor.

Mevzuat koda gömülmez

Bu hesaplar bir if merdiveni olarak yazılmaya çok müsait. Yazmadım.

Sebep: bu kurallar veriden çıkmıyor, politikadan geliyor. Periyot beş yıl, çünkü yönetmelik öyle diyor. Yarın dört olabilir. Akreditasyon kapsamına yeni bir nominal çap girebilir.

Kural koda gömülürse her değişiklik bir sürüm demek. Tabloya yazılırsa bir satır güncellemesi.

ayrım

Ölçüm veridir: sayacın ne gösterdiği. Politika karardır: ne zaman muayene edileceği. İkincisi asla birincisinden türetilmez. Bu iki şeyi aynı katmana koymak, faturalama tarafında da tekrar tekrar gördüğüm bir hata.

Belgeler misafir değil, ev sahibi

Akredite bir kuruluşun sitesinde belgeler dekorasyon değil, ziyaretçinin oraya gelme sebebi. Yirmi bir PDF — on akreditasyon/yetki belgesi, on bir mevzuat metni — hepsi yerelde barındırıldı, dış bağlantı verilmedi.

Gerekçe: dış bağlantı bir gün kırılır. Kurumsal belgeleri kontrol edemediğin bir sunucunun ayakta kalmasına bağlamak iyi fikir değil.

Ve küçük bir hata

bulduğum şey

Sayaç animasyonu akreditasyon yılını yerel biçimlendirmeyle yazıyordu: 2021 → “2.021”. Binlik ayracı bir yıl için anlamsız. Animasyonu kaldırdım.

Bir sayıyı hareket ettirmek, onu yanlış göstermeye değmez. Sayıyı biçimlendirirken miktar mı tanımlayıcı mı olduğunu bilmek gerekiyor.

Ne öğrendim

Form tasarımı alan sayısını azaltmakla ilgili değil. Karar sayısını azaltmakla ilgili.

Kullanıcıdan beş veri alıp üç kararı onun yerine vermek, ondan üç veri alıp beş karar sordurmaktan iyidir — form daha uzun görünse bile.

SahaSistem