Bir veritabanında saklar sonuçları ve http GET isteklerine yanıt dinamik html yoluyla sonuçlarının sekmeli bir görüntü sunan bir otomatik yapı sistemini düşünün. Farklı kullanıcıların çok sonuç farklı alt kümelerini görmek istiyorum, bu yüzden birden fazla isteğe bağlı filtreleme parametrelerini ve değerlerini kabul herbiri PHP ayrıştırma komut vardır. Örneğin, (burada kimse aslında bu örnek URL tıkladığında yüzden http kısmını gidiyorum):
display_results.php? componenent_name = my_comp1 & build_type = build_type1 & build_owner = fred
Olası tüm parametreleri ve bunların izin verilen değerlerin listesi kullanıcının isteği URL oluşturarak bazı yardım sayfada listelenen bile, s / o elinizde ki belgelere sahip olmayabilir. Bunun yerine, (kendi yazım dahil) geçerli parametreler ve izin verilen değerleri hafızaya bağlıdır. Bazen s / o yanlış alırsınız.
Question
Son kullanıcı kullanılabilirlik yanı sıra, kullanıcı hataları tepki olarak en iyisi aşağıdaki seçenekler geliştiricisi idame, bakış açısından:
- Geçersiz parametreler veya değerler görmezden
- , Geçersiz parametreler görmezden geçersiz değerler için hiçbir iade
- (Doğru kullanımı ile) olası artı bir hata iletisi kadar geçerli tablo veri döndürebilir
- (Doğru kullanımı ile) sadece bir hata iletisi döndürür
- Oto-düzeltme yapmak en iyi girişimi
- Diğer (açıklayınız)
Veritabanı build_type1 Fred ve üç COMP1, comp2 ve comp3 adlandırılan bileşenleri ve kullanıcı için joe için verileri içerir Örneğin, (yanlışlıkla) yazıyor:
display_results.php? name = COMP1, comp2 ve build_type = build_type1 ve build_owner = john
- Tüm sonuçları dönecekti (çünkü göz ardı yanlış parametre ismi "", geçersiz değer "ahmet")
- Hiçbir şey dönecekti çünkü john için hiçbir veri
- Build_type1 artı mesajlar "hayır build_owner = john" için tüm sonuçlar dönmek ve "belki 'bileşen_adı' demek" Would
- Dönecekti sadece mesajları "belki demek 'COMPONENT_NAME'" "hayır build_owner = john" ve
- Joe için build_type1 için COMP1 ve comp2 sonuçları dönecekti
- Diğer (tarif)
Kullanıcıların Ben de tarif ediyorum uygulaması ile mutlu olacağını olanlar ile memnun iseniz - Ben orada yaygın olarak kullanılan, uslu web uygulamaları ile tutarlılık gibi kullanılabilirlik tanımlayan ediyorum.
Ben, böyle komut bir anahtar kullanıcısıyım geliştirme isteklerinin iyi bir dizi yapmak ve daha fazla istekleri için bazı destek almak istiyorum çünkü ben bu soruyu soruyorum.
=== About the interface -- free-form or "builder page". Yes, I am talking about free-form. There is a "builder page" in the system but (a) it never offers all the options that all users seem to want and (b) I have not been able to push through a "create permalink" enhancement request.
=== Thanks for chosen answer -- not enough space in comment:
Teşekkürler @ pygorex1! API - Sen tanınmış bir yazılım yapısının bağlamında sorumu koyar bir cevap verdi. (Belki abartılı eğer ;-)) Ve bu ilkeleri ihlal etkisi örnek bir iyi verdi. Son olarak, bir şey bu scriptin API'ler hakkında beni rahatsız olmuştu ve "self-documenting" sözü ne zaman, benim için o kadar bağlanır. Ne beni rahatsız oldu orada (o güncel tutmak için pahalı çünkü) az dokümantasyon bulunuyor ve kısmi sonuçlar kullanıcı hatası (mine!) iade ile zaman, ben sistem hakkında learn şey yok oldu. "Kendi belgeleyen" muhtemelen tavsiye ettik hata işleme tasarımı için en kısa gerekçesidir. Kullanıcılar ve bakıcılarına daha kolay satmak!