En los días anteriores hemos estado viendo como poder trabajar con las mejores prácticas posibles para cualquier escenario de desarrollo Microsoft que tengas en mente (Aplicaciones de consola, Windows Forms, Silverlight, etc.), ahora en este día es momento de delimitar un poco mas el escenario hacia XAML. La mejor práctica general es aprovechar las grandes características que esta plataforma te puede ofrecer. Así que comencemos.
Cuando vayas a utilizar namespaces, crea nombres claros que puedas ubicar de forma rápida (puedes hacer una excepción con los generalizados como las conductas).
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:MiClase="clr-namespace:Clases.Clase" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:local="clr-namespace:Clases" x:Class="Clases.MainPage" Width="640" Height="480"> |
Si has dejado de utilizar un namespace por cualquier cuestión, elimina su declaración.
Usa múltiples líneas para las propiedades, hará tu código mas entendible.
<TextBox x:Name="txtEntrada" HorizontalAlignment="Left" Height="27" Margin="134,8,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="137" Text="{Binding Mensaje, Mode=TwoWay}"> |
Si quieres crear animaciones de manera manual esta bien, eso demostrará dos cosas, que eres un buenazo y que te gusta gastar mucho tiempo escribiendo código. Usa las herramientas generadoras de código.
Lo mismo va para los recursos y estilos, usa Blend, hacerlo vía manual te tomará muchísimo tiempo.
Solo asigna nombres a los controles que utilizarás, si estás usando MVVM ni siquiera deberás declararlos.
Escribe comentarios de ser necesario. (Esta es una buena práctica que yo suelo omitir, pero prometo cambiar la tendencia).
Después de terminar con tu interfaz, revisa que no tengas animaciones ni recursos que no necesites.
Utiliza tus recursos dentro de diccionarios, evita usarlos dentro del mismo archivo de la clase.