Girişin doğrudan bir kullanıcı tarafından bazı kullanıcı arabirimi aracılığıyla mı yoksa sistemden mi yapıldığına bağlıdır.
Bir kullanıcı arayüzü üzerinden giriş
Geçersiz girdilerin nasıl kullanılacağı bir kullanıcı deneyimi sorusudur. Dava hakkında bir şey bilmiyorum ama genel olarak birkaç seçenek var:
- Kullanıcıyı hataya karşı uyarın ve devam etmeden önce kullanıcının onu düzeltmesini sağlayın (En yaygın)
- Otomatik olarak geçerli aralığa dönüştür (mümkünse), ancak kullanıcıyı değişiklik konusunda uyar ve devam etmeden önce kullanıcının doğrulamasını sağla.
- Sessizce geçerli aralığa dönüştürün ve devam edin.
Seçim, kullanıcıların beklentilerine ve verilerin ne kadar kritik olduğuna bağlıdır. Örneğin Google, sorgularda yazımı otomatik olarak düzeltir, ancak yararsız bir değişiklik sorun olmadığından ve düzeltmesi kolay olduğu için bu düşük risklidir (ve o zaman bile sorgunun değiştiği sonuç sayfasında açıkça belirtilmiştir). Diğer yandan, bir nükleer füze için koordinatlar giriyorsanız, daha katı bir giriş doğrulaması ve sessiz geçersiz veri düzeltmeleri istemeyebilirsiniz. Yani evrensel bir cevap yok.
En önemlisi, girişi düzeltmenin kullanıcı için bir faydası olup olmadığını göz önünde bulundurmalısınız. Bir kullanıcı neden geçersiz veri girsin? Birinin nasıl yazım hatası yapabileceğini görmek kolaydır, ama neden biri -185 boylamına girsin ki? Kullanıcı gerçekten +175 anlamına geldiyse muhtemelen +175 yazmış olacaktı. Bence bu büyük olasılıkla geçersiz boylam basit bir yazım hatası olduğunu ve kullanıcı anlamına -85 veya başka bir şey olduğunu. Bu durumda sessizce dönüştürme kötü ve yararsızdır . Uygulamanız için en kullanıcı dostu yaklaşım, kullanıcıyı geçersiz değere karşı uyarmak ve kullanıcının kendileri düzeltmesini sağlamak olabilir.
API üzerinden giriş
Giriş başka bir sistemden veya alt sistemden geliyorsa, soru yoktur. Bir istisna atmalısın. Geçersiz girişi başka bir sistemden silmemelisiniz, çünkü sistemdeki herhangi bir yerde hataları maskeleyebilir. Girdi "düzeltildi" ise, UI katmanında gerçekleşmeli, sistemde daha derinde olmamalıdır.