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
<!--#region Region Name --> XAML code <!--#endregion-->
Vamos que con solo 2 líneas de código, puedo pasar de
A esto
Todos los días se aprender algo nuevo!
Saludos @ Toronto (-42)
El Bruno
References
- Stack Exchange, Are #regions an antipattern or code smell?
- Stack Exchange, Why are people so strongly opposed to #region tags in methods?
- Casademora, Just say No! to C# Regions « public abstract string[] Blog()
- ExtractMethod, I still say Regions are not useful… but…
- Marketplace, Super Charger
- Marketplace, XAML Regions
😉
LikeLike
También existen en javascript y se aplican exactamente igual
LikeLike
Gracias por el tip Fito !
LikeLike