Sınırlı soru havuzundan altı sınav formu oluşturmak
Hollanda'daki gemi lisansı (Klein Vaarbewijs 2) sınavları için pratik testler hazırlayan bir geliştirici, ilginç bir sorunla karşılaştı: sorulardan altı farklı sınav formu çıkarmak gerekiyordu, ancak soru havuzu çok yetersizdi.
Normal durumlarda bu basit. Konuya göre soruları karıştırıp sırasıyla formlara dağıt. Örneğin konaklama lisansı (SVH) gibi sınavlarda her konunun 6-8 sorusu var, yani altı form kolayca oluşturuluyor ve hiçbir soru tekrarlanmıyor.
Klein Vaarbewijs 2 ise farklıydı. 27 konusu vardı, ama bazılarında sadece 2 soru, birinde hiç soru yoktu. GPS konusunun 2 sorusu, gelgit hesaplamasının 2 sorusu vardı. Standart algoritm çalışmıyordu.
Geliştirici, bu durumda altı formu önceden hesaplayıp JSON dosyası olarak depoya koydu. Böylece her sınav formu sabitti, rasgele dağıtım yerine garantili bir dizi kullanılıyor. Bu yaklaşım, soru sayısı az olan konularda bile tutarlılığı sağlıyor.
Çözüm, basit bir algoritmanın her duruma uyamayacağını gösteriyor. Bazen veri az olduğunda, statik bir yapı dinamik dağıtımdan daha güvenilir olabilir. Kod yazarken edge caseları önceden düşünmek ve gerekirse yaklaşımı değiştirmek gerekiyor.
0 yorum