Ziva En İyi Uygulamaları
Ziva’u üretim sistemlerine entegre ederken bu rehberi kullanın. Yapı, doğrulama, stil, performans ve test konularında ipuçları içerir.Mimari ve kod düzeni
- Kuyrukları okunur tutmak için görev oluşturmayı fabrika/yardımcı fonksiyonlara taşıyın.
- Görevleri aşamalara ayırın ve her aşama için ayrı kuyruklar çalıştırın (topla → doğrula → uygula). Bu yaklaşım testi ve yeniden kullanımı kolaylaştırır.
queue.Run()
sonrasında ihtiyaç duyacağınız görev referanslarını saklayın; görevler durumlarını korur.- Kuyruk oluşturmadan önce
main()
içindeziva.AutoConfigure()
çağırın ve dil ayarlarını (SetDefaultLanguage
,SetLanguage
) yapın.
Kuyruk yönetimi
- Uzun senaryolarda
WithTasksNumbered(true, "[%02d]")
kullanarak numaralandırma ekleyin; operatörler daha hızlı yön bulur. - Son özet gerekmediğinde
WithOutSummary()
ile kapatın; aksi hâldeWithSummaryFunction
ile önemli sonuçları satır içinde gösterin. - Headless ortamlarda (CI, SSH) mutlaka
WithTimeout*()
belirtin ve senaryo için güvenli bir varsayılan değer seçin. - Dinamik akışlarda yeni bir
Queue
oluşturun, üretilen görevleri ekleyin ve ana kuyruktan sonra çalıştırın.
Doğrulama ve giriş
Description()
metinlerini kullanıcı dostu tutun — Ziva metni alanın altında gösterir.DefaultValidators
içindeki yerleşik doğrulayıcıları özel tiplerle birleştirin. Karmaşık kurallar için kompozisyon yapın ve testlerle güvence altına alın.- Boş girişe izin verecekseniz
WithAllowEmpty(true)
ile boş değeri kabul eden doğrulayıcıları (örn.OptionalEmail
) birlikte kullanın. - CRM’de kopya e-posta gibi harici kontroller gerekiyorsa girdiden sonra
FuncTask
ekleyin ve sonucu kullanıcıya gösterin.
Stil ve yerelleştirme
- Marka renklerini yakalamak için
ziva.SetErrorColor
kullanın; denemelerden sonraResetErrorColors()
çağırmayı unutmayın. - Kısıtlı terminallerde
EnableEmbeddedMode()
veEnableASCIIMode()
kombinasyonu çıktıyı okunur tutar.
Performans ve gömülü hedefler
- Tamamlanan görev geçmişini
ZIVA_MAX_COMPLETED_TASKS
ortam değişkeniyle sınırlandırın. - Belleği
ZIVA_MEMORY_PRESSURE_THRESHOLD
ile izleyin ve uzun ömürlü CLI’lardaziva.ClearInternCache()
çağırarak string önbelleğini temizleyin. - Büyük listelerde
WithViewport(...)
kullanın; arayüz tepki verilir kalır. - Ağır işleri küçük
FuncTask
adımlarına bölün ki kullanıcı sık sık ilerleme görsün.
Test ve hata ayıklama
- Görev fabrikalarını unit testlerle doğrulayın: görevi oluşturun,
Update
ile mesaj simüle edin ve son durumu kontrol edin. examples/
altında demo kuyruklar tutun ve manuel olarak çalıştırın. Kayıt sırasındaWithClearScreen(false)
ayarıyla ekran görüntüsü/GIF almak kolaylaşır.WithStopOnError(true)
nedeniyle durdurulan kuyruklar için Ziva dışında (örn.log
,zap
) hata kaydı tutun.
Yayın öncesi kontrol listesi
- Tüm zaman aşımı ve varsayılan değerler gözden geçirildi.
- Görevler aşamalara göre gruplanmış, düzen hedef terminal genişliğine uyuyor.
- Doğrulama negatif senaryoları kapsıyor, karmaşık kurallar test edildi.
- Renk şeması ve yerelleştirme ürün gereksinimlerini karşılıyor.
- Gömülü cihazlar
AutoConfigure()
ve embedded mod ile test edildi.