Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://ziva.zeleza.ru/llms.txt

Use this file to discover all available pages before exploring further.

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çinde ziva.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âlde WithSummaryFunction 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 sonra ResetErrorColors() çağırmayı unutmayın.
  • Kısıtlı terminallerde EnableEmbeddedMode() ve EnableASCIIMode() 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’larda ziva.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ında WithClearScreen(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.
Bu önerileri örnekler bölümündeki kodlarla birlikte kullanarak dayanıklı ve kullanıcı dostu Ziva tabanlı TUI’ler geliştirin.