Menangkap kesalahan AI dan memverifikasi aplikasi

Kode yang dihasilkan siap untuk ditinjau, tidak secara otomatis siap dikirim. Dalam langkah terakhir ini, Anda berlatih mendeteksi kesalahan kerangka kerja yang masuk akal dan memverifikasi Task Tally di luar kompilasi.

Sengaja menguji asisten

Mulai percakapan baru dengan asisten Anda sehingga tidak bergantung pada batasan dari perintah sebelumnya. Bertanya:

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

Asisten tanpa batasan mungkin menjawab:

using Windows.UI.Xaml.Controls;

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

Ini adalah namespace UWP. ContentDialog juga ada di WinUI 3, sehingga kesalahan tersebut mudah terlewat saat peninjauan kode.

Untuk proyek ini, namespace harus:

using Microsoft.UI.Xaml.Controls;

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

URL referensi WinUI 3 ContentDialog mencakup microsoft.ui.xaml.controls. Referensi ContentDialog UWP menggunakan windows.ui.xaml.controls.

Inilah alasan mengapa "tipe tersebut tercantum dalam dokumentasi Windows" tidaklah cukup. Periksa kerangka kerja, namespace, versi, dan model aplikasi.

Menggunakan pemeriksaan kerangka kerja untuk kode yang dihasilkan

Saat asisten menambahkan API Windows, periksa dengan pertanyaan-pertanyaan berikut:

Periksa Apa yang harus dicari
Kerangka kerja Apakah dokumentasi untuk WinUI 3 dan SDK Aplikasi Windows?
Namespace Apakah kode UI menggunakan Microsoft.UI.Xaml, bukan Windows.UI.Xaml atau System.Windows?
Versi Apakah API tersedia dalam versi SDK Aplikasi Windows yang dirujuk oleh proyek?
Model aplikasi Apakah API memerlukan identitas paket, kemampuan aplikasi, atau inisialisasi jendela?
Threading Haruskah panggilan berjalan pada utas UI? Apakah pekerjaan asinkron ditunggu?
UX Apakah ada kontrol atau pola WinUI bawaan untuk skenario?
Aksesibilitas Apakah UI yang dihasilkan memiliki nama, label, akses keyboard, dan fokus yang terlihat?
Evidence Apakah Anda sudah melakukan build, menjalankan, dan menguji jalur kode yang diubah?

Minta asisten untuk memberikan URL Learn yang mendukung pilihannya, lalu buka URL sendiri.

Verifikasi Task Tally

Lakukan satu putaran verifikasi terakhir:

  1. Hapus data lokal aplikasi atau mulai dengan penginstalan baru. Pastikan bahwa keadaan kosong muncul dan bahwa jika hanya memasukkan spasi, Tambahkan tugas tetap dinonaktifkan.
  2. Tambahkan beberapa tugas, tandai satu selesai, dan hapus tugas lainnya. Pastikan bahwa jumlah yang tersisa diperbarui dan item yang benar dihapus.
  3. Mulai ulang aplikasi. Konfirmasikan bahwa judul tugas dan status penyelesaian dipulihkan.
  4. Tambahkan if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure."); sebagai baris TaskStorage.SaveAsyncpertama , bangun ulang, dan jalankan aplikasi di debugger. Lakukan penyimpanan dan pastikan bahwa InfoBar melaporkan kegagalan, bukan penyimpanan yang berhasil. Kemudian hapus kondisi sementara dan bangun kembali.
  5. Navigasikan melalui setiap elemen interaktif dengan Tab dan Shift+Tab.
  6. Gunakan pembaca layar atau Accessibility Insights for Windows untuk memeriksa nama, peran, dan urutan fokus.
  7. Ubah ukuran aplikasi, uji tema terang, gelap, dan kontras, lalu kompilasikan untuk x64 tanpa peringatan dari kompiler, XAML, binding, maupun analyzer.

Pelajari selengkapnya: Gambaran umum aksesibilitas dan Pengujian aksesibilitas.

Sempurnakan prompt, bukan hanya kode

Jika pemeriksaan gagal, simpan baik koreksi maupun alasannya dalam prompt berikutnya:

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.

Ini memberi asisten bukti yang berguna dan memperkuat batas proyek. Untuk proyek yang berumur lebih lama, letakkan batasan yang stabil seperti kerangka kerja, model pengemasan, arsitektur target, dan perintah build dalam instruksi repositori yang dibaca asisten pengodean Anda.

Langkah berikutnya

Anda telah membangun aplikasi WinUI 3 kecil dan mempraktikkan alur kerja yang dapat Anda gunakan kembali:

Tanya → Hasilkan → Bangun → Periksa → Verifikasi → Sempurnakan

Lanjutkan dengan: