Erfassen eines KI-Fehlers und Überprüfen der App

Generierter Code ist bereit für die Überprüfung, nicht automatisch einsatzbereit. In diesem letzten Schritt üben Sie, einen plausiblen Frameworkfehler zu erkennen, und prüfen Task Tally über die reine Kompilierung hinaus.

Absichtliches Testen des Assistenten

Starten Sie eine neue Konversation mit Ihrem Assistenten, damit Ihr Assistent sich nicht auf die Vorgaben aus früheren Prompts stützt. Fragen:

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

Ein uneingeschränkter Assistent könnte Folgendes zurückgeben:

using Windows.UI.Xaml.Controls;

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

Dies ist ein UWP-Namespace. ContentDialog auch in WinUI 3 vorhanden, wodurch der Fehler in einer Codeüberprüfung leicht zu verpassen ist.

Für dieses Projekt muss der Namespace folgendes sein:

using Microsoft.UI.Xaml.Controls;

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

Die Referenz-URL für WinUI 3 ContentDialog enthält microsoft.ui.xaml.controls. Die UWP ContentDialog-Referenz verwendet windows.ui.xaml.controls.

Aus diesem Grund reicht „der Typ in der Windows-Dokumentation existiert“ nicht aus. Überprüfen Sie das Framework, den Namespace, die Version und das App-Modell.

Verwenden einer Frameworküberprüfung für generierten Code

Wenn der Assistent eine Windows-API hinzufügt, überprüfen Sie sie mit den folgenden Fragen:

Prüfen Worauf zu achten ist
Rahmen Ist die Dokumentation für WinUI 3 und das Windows App SDK gemeint?
Namespace Verwendet der UI-Code Microsoft.UI.Xaml, nicht Windows.UI.Xaml oder System.Windows?
Version Ist die API in der Windows App SDK Version verfügbar, auf die vom Projekt verwiesen wird?
App-Modell Erfordert die API die Paketidentität, eine App-Funktion oder die Fensterinitialisierung?
Threading Muss der Aufruf im UI-Thread ausgeführt werden? Wird asynchrone Arbeit erwartet?
UX (Benutzererfahrung) Gibt es ein integriertes WinUI-Steuerelement oder -Muster für das Szenario?
Accessibility Verfügt die generierte Benutzeroberfläche über Namen, Bezeichnungen, Tastaturzugriff und sichtbaren Fokus?
Beweise Haben Sie den geänderten Codepfad erstellt, ausgeführt und getestet?

Bitten Sie den Assistenten, die Lern-URL anzugeben, die seine Auswahl unterstützt, und öffnen Sie dann die URL selbst.

Aufgabenzählung überprüfen

Führen Sie einen endgültigen Überprüfungsdurchlauf aus:

  1. Löschen Sie die lokalen Daten der App, oder beginnen Sie mit einer neu installierten Installation. Vergewissern Sie sich, dass der Leerzustand angezeigt wird und dass Aufgabe hinzufügen deaktiviert bleibt, wenn ausschließlich Leerzeichen eingegeben werden.
  2. Fügen Sie mehrere Aufgaben hinzu, markieren Sie einen abgeschlossenen Vorgang, und löschen Sie eine andere. Vergewissern Sie sich, dass die verbleibende Anzahl aktualisiert wird und das richtige Element entfernt wird.
  3. Starten Sie die App neu. Vergewissern Sie sich, dass Aufgabentitel und Abschlussstatus wiederhergestellt werden.
  4. Fügen Sie if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure."); als erste Zeile in TaskStorage.SaveAsync ein, erstellen Sie die App neu, und führen Sie sie im Debugger aus. Lösen Sie einen Speichervorgang aus und bestätigen Sie, dass InfoBar den Fehler meldet, anstatt einen erfolgreichen Speichervorgang zu melden. Entfernen Sie dann die temporäre Bedingung und erstellen Sie sie anschließend neu.
  5. Navigieren Sie mit Tab und Umschalt+ zu jedem interaktiven Element.
  6. Verwenden Sie einen Screenreader oder Accessibility Insights for Windows, um Namen, Rollen und die Fokusreihenfolge zu überprüfen.
  7. Ändern Sie die Größe der App, testen Sie helle, dunkle und Kontrastdesigns, und erstellen Sie für x64 ohne Compiler-, XAML-, Bindungs- oder Analysewarnungen.

Weitere Informationen: Übersicht über Barrierefreiheit und Barrierefreiheitstests.

Verfeinern der Eingabeaufforderung, nicht nur des Codes

Wenn eine Überprüfung fehlschlägt, speichern Sie sowohl die Korrektur als auch den Grund in der nächsten Eingabeaufforderung:

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.

Dies gibt dem Assistenten nützliche Nachweise und stärkt die Projektgrenze. Für ein langfristiges Projekt sollten Sie feste Vorgaben wie das Framework, das Paketierungsmodell, die Zielarchitektur und den Build-Befehl in den Anweisungen des Repositorys festhalten, die Ihr Programmierassistent liest.

Nächste Schritte

Sie haben eine kleine WinUI 3-App erstellt und einen Workflow praktiziert, den Sie wiederverwenden können:

Fragen → Erstellen → Entwickeln → Prüfen → Verifizieren → Verfeinern

Weiter mit: