Yapay zeka hatasını yakalayın ve uygulamayı doğrulayın

Oluşturulan kod gözden geçirilmeye hazır, otomatik olarak göndermeye hazır değil. Bu son adımda, olası bir çerçeve hatasını tespit etmeyi pratik eder ve Task Tally’yi derlemenin ötesinde doğrularsınız.

Yardımcıyı bilerek test edin

Önceki istemlerdeki kısıtlamalara güvenmemesi için yardımcınızla yeni bir konuşma başlatın. Sormak:

Add a confirmation dialog before deleting a task from my Windows XAML app.
Show only the using directives and the dialog construction code.

Kısıtlanmamış bir asistan şunu döndürebilir:

using Windows.UI.Xaml.Controls;

var dialog = new ContentDialog
{
    Title = "Delete task?",
    PrimaryButtonText = "Delete",
    CloseButtonText = "Cancel"
};

Bu bir UWP ad alanıdır. ContentDialog ayrıca WinUI 3'te de bulunur ve bu da hatanın bir kod gözden geçirmesinde kaçırılmasını kolaylaştırır.

Bu proje için ad alanı şu şekilde olmalıdır:

using Microsoft.UI.Xaml.Controls;

var dialog = new ContentDialog
{
    Title = "Delete task?",
    PrimaryButtonText = "Delete",
    CloseButtonText = "Cancel",
    XamlRoot = this.XamlRoot
};

WinUI 3 ContentDialog başvuru URL'si içerir microsoft.ui.xaml.controls. UWP ContentDialog referansı windows.ui.xaml.controls kullanır.

Bu nedenle, “türün Windows belgelerinde yer alması” yeterli değildir. Çerçeveyi, ad alanını, sürümü ve uygulama modelini denetleyin.

Oluşturulan kod için çerçeve denetimi kullanma

Asistan bir Windows API’si eklediğinde, onu şu soruları sorarak inceleyin:

Denetim Nelere dikkat etmeli
Çerçeve WinUI 3 ve Windows Uygulama SDK'sı belgeleri var mı?
Namespace UI kodu Microsoft.UI.Xaml kullanıyor, System.Windows veya Windows.UI.Xaml değil mi?
Sürüm API, proje tarafından başvuruda bulunulan Windows Uygulama SDK'sı sürümünde kullanılabilir mi?
Uygulama modeli API için paket kimliği, uygulama özelliği veya pencere başlatma gerekiyor mu?
İplilik Çağrının UI iş parçacığında çalışması gerekiyor mu? Zaman uyumsuz çalışma bekleniyor mu?
Kullanıcı Deneyimi (UX) Senaryo için yerleşik bir WinUI denetimi veya deseni var mı?
Erişilebilirlik Oluşturulan kullanıcı arabiriminde adlar, etiketler, klavye erişimi ve görünür odak var mı?
Evidence Değiştirilen kod yolunu derleyip çalıştırdınız ve test ettiniz mi?

Yardımcıdan tercihini destekleyen Learn URL'sini sağlamasını isteyin ve ardından URL'yi kendiniz açın.

Görev Sayılarını Doğrula

Son bir doğrulama kontrolü gerçekleştirin:

  1. Uygulamanın yerel verilerini silin veya yeni bir yüklemeyle başlayın. Boş durumun göründüğünü ve yalnızca boşluk girildiğinde Görev ekle seçeneğinin devre dışı bırakıldığını onaylayın.
  2. Birkaç görev ekleyin, birini tamamlandı olarak işaretleyin ve diğerini silin. Kalan sayının güncellendiğini ve doğru öğenin kaldırıldığını onaylayın.
  3. Uygulamayı yeniden başlatın. Görev başlıklarının ve tamamlanma durumlarının geri yüklendiğini onaylayın.
  4. if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure."); öğesinin ilk satırı olarak TaskStorage.SaveAsync ekleyin, yeniden derleyin ve uygulamayı hata ayıklayıcıda çalıştırın. Kaydetmeyi tetikleyin ve başarılı bir kaydetme yerine InfoBar hatayı bildirdiğini doğrulayın. Ardından geçici koşulu kaldırın ve yeniden oluşturun.
  5. Tab ve +Tab ile tüm etkileşimli öğeler arasında gezinin.
  6. Adları, rolleri ve odak sırasını incelemek için Windows için ekran okuyucu veya Erişilebilirlik İçgörüleri kullanın.
  7. Uygulamayı yeniden boyutlandırın, açık, koyu ve karşıtlık temalarını test edin ve derleyici, XAML, bağlama veya çözümleyici uyarıları olmadan x64 için derleme yapın.

Daha fazla bilgi edinin: Erişilebilirlik genel bakışı ve Erişilebilirlik testi.

Yalnızca kodu değil, istemi de iyileştirin

Bir denetim başarısız olursa, sonraki isteminizde hem düzeltmeyi hem de nedeni kaydedin:

The generated code used Windows.UI.Xaml.Controls, which is the UWP
namespace. This project is WinUI 3. Replace it with the corresponding
Microsoft.UI.Xaml API, verify the API in the Windows App SDK reference,
build the x64 project, and explain why the original namespace was wrong.

Bu, yardımcıya yararlı kanıtlar verir ve proje sınırını pekiştirir. Daha uzun ömürlü bir proje için kodlama yardımcınızın okuduğu depo yönergelerine çerçeve, paketleme modeli, hedef mimari ve derleme komutu gibi kararlı kısıtlamalar koyun.

Sonraki Adımlar

Küçük bir WinUI 3 uygulaması oluşturup yeniden kullanabileceğiniz bir iş akışı alıştırması yapmışsınız:

Sor → Oluştur → Derle → İncele → Doğrula → İyileştir

Devam edin: