Detectar un error de inteligencia artificial y comprobar la aplicación

El código generado está listo para su revisión, no listo para enviarse automáticamente. En este último paso, practicará cómo detectar un posible error relacionado con un framework y verificará Task Tally más allá de la compilación.

Probar deliberadamente el asistente

Inicie una nueva conversación con el asistente para que no dependa de las restricciones de las solicitudes anteriores. Preguntar:

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

Un asistente sin restricciones podría devolver:

using Windows.UI.Xaml.Controls;

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

Se trata de un espacio de nombres para UWP. ContentDialog también existe en WinUI 3, lo que hace que sea fácil pasar por alto el error en una revisión de código.

Para este proyecto, el espacio de nombres debe ser:

using Microsoft.UI.Xaml.Controls;

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

La dirección URL de referencia de ContentDialog de WinUI 3 incluye microsoft.ui.xaml.controls. La referencia contentDialog de UWP usa windows.ui.xaml.controls.

Este es el motivo por el que «el tipo existe en la documentación de Windows» no es suficiente. Compruebe el marco, el espacio de nombres, la versión y el modelo de aplicación.

Uso de una comprobación de marco para código generado

Cuando el asistente agrega una API de Windows, inspeccione con estas preguntas:

Check Qué se debe tener presente
Framework ¿Es la documentación para WinUI 3 y el SDK de aplicaciones de Windows?
Namespace ¿Usa el código Microsoft.UI.Xamlde interfaz de usuario , no Windows.UI.Xaml o System.Windows?
Versión ¿La API está disponible en la versión de SDK de Aplicaciones para Windows a la que hace referencia el proyecto?
Modelo de aplicación ¿Requiere la API la identidad del paquete, una funcionalidad de aplicación o una inicialización de ventana?
Threading ¿Debe ejecutarse la llamada en el subproceso de interfaz de usuario? ¿Se espera a que finalice el procesamiento asíncrono?
Experiencia de usuario ¿Hay un patrón o control winUI integrado para el escenario?
Accessibility ¿La interfaz de usuario generada tiene nombres, etiquetas, acceso al teclado y foco visible?
Evidencia ¿Has compilado, ejecutado y probado la ruta modificada?

Pida al asistente que proporcione la dirección URL de Learn que admita su elección y, a continuación, abra la dirección URL usted mismo.

Verificar recuento de tareas

Ejecute un pase de comprobación final:

  1. Elimine los datos locales de la aplicación o comience con una instalación nueva. Confirme que se muestra el estado vacío y que introducir solo espacios mantiene Añadir tarea deshabilitado.
  2. Agregue varias tareas, marque una completa y elimine otra. Confirme que el recuento restante se actualiza y que se elimina el elemento correcto.
  3. Reinicie la aplicación. Confirme que se restauran los títulos de las tareas y los estados de finalización.
  4. Agregue if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure."); como primera línea de TaskStorage.SaveAsync, recompile y ejecute la aplicación en el depurador. Inicie el guardado y confirme que InfoBar informa del fallo en lugar de indicar que el guardado se ha realizado correctamente. A continuación, quite la condición temporal y recompile.
  5. Navegue por todos los elementos interactivos con Tab y Mayús+Tab.
  6. Use un lector de pantalla o Accessibility Insights para Windows para inspeccionar nombres, roles y orden de enfoque.
  7. Cambie el tamaño de la aplicación, pruebe los temas claros, oscuros y de contraste y compile para x64 sin advertencias de compilador, XAML, enlace o analizador.

Más información: Introducción a la accesibilidad y pruebas de accesibilidad.

Refinar el mensaje, no solo el código

Si una comprobación falla, guarda tanto la corrección como la razón en tu siguiente instrucción:

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.

Esto proporciona al asistente pruebas útiles y refuerza el límite del proyecto. Para un proyecto de larga duración, coloque restricciones estables como el marco, el modelo de empaquetado, la arquitectura de destino y el comando build en las instrucciones del repositorio que lee el asistente de codificación.

Pasos siguientes

Ha creado una pequeña aplicación WinUI 3 y ha practicado un flujo de trabajo que puede reutilizar:

Preguntar → Generar → Compilación → Inspeccionar → Comprobar → Refinar

Continuar con: