#VS2017 – Sobre Regiones en C# y ahora en #Xaml (What?!)

Hola !

Si eres un C# Developer, seguramente en algún momento has participado de la discussión

Regions SI / Regions NO

Hay muchísimas opiniones al respecto (ver referencias). Es cierto que si tienes que agrupar algún tipo de elemento en regiones en una clase, es muy probable que la misma sea “demasiado grande”. O sea, que es momento de refactorizar.

También es cierto, que en determinadas secciones de una app, las clases “grandes” son una necesidad, y utilizar regiones puede ayudarnos a leer una cláse más fácilmente.

En el camino quedaron proyectos como CodeMap que intentaban darnos una ayuda para mejorar la lectura de código. Hoy por hoy CodeMap ha evolucionado en SuperCharger, debo confesar que no lo he probado.

Para resumir, el uso correcto (o no) de regiones suele tener como objetivo mejorar la lectura y comprensión de código C#. Sobre esta premisa que cada uno escoja la mejor forma de utilizarlas (o no utilizarlas).

Editar código XAML en modo texto, ha sido, es y será lo más parecido a tener un dolor de un cálculo renal. Yo me he pasado horas, colapsando y expandiendo elementos XAML para poder tener una mejor visión del contenido Xaml. Y ahora que lo pienso, la posibilidad de tener regiones en XAML me parece una muy buena idea. Hoy me encuentro con una extensión que nos permite crear regiones en código Xaml:

XAML Regions (link)

La implementación además es muy simple. No hay que ser un experto para comprender como funciona. Sin embargo me llama más la atención que esta funcionalidad viene de fábrica en Visual Studio 2015 y Visual Studio 2017 ! El formato de definición de regiones es el siguiente

Vamos que con solo 2 líneas de código, puedo pasar de

Clipboard03

A esto

Clipboard05

Todos los días se aprender algo nuevo!

Saludos @ Toronto (-42)

El Bruno

References

Advertisements

One thought on “#VS2017 – Sobre Regiones en C# y ahora en #Xaml (What?!)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s