me gusta regiones y mi equipo y me siento código es más legible con ellos.
Éstos son los momentos en los que los amo ...
Si usted tiene un estándar de la compañía para escribir pruebas unitarias con arreglos Ley Assert (AAA), entonces podría requerir pruebas de unidad para buscar la siguiente manera
[test]
public void MyFunction_Test
{
#region Arrange
#endregion
#region Act
#endregion
#region Assert
#endregion
}
Me gusta mucho este formato especialmente cuando hay separaciones claras y hacerlo inspira a otros a hacer algo correctamente, como escribir pruebas de unidad correctamente.
El otro lugar que me gusta de la región es el código cuando sabe que va a eliminar el código pronto.
#region Drop this region next version when we drop 2003 support
public void DoSomeThingWithWindowsServer2003()
{
// code the is for Windows 2003 only
}
#endregion
También uso regiones para separar las diferentes partes de mis clases, incluso si la clase es muy pequeña.
#region Constructors
#endregion
#region Properties
#endregion
#region Events
#endregion
#region Methods
#endregion
#region Enums
#endregion
Por lo general, una clase no tendrán todos ellos (si es que usted puede preguntarse si se está haciendo demasiado en una sola clase) pero creo que si usted está buscando un único método o propiedad, Es bueno tener un solo lugar para mirar. Por no mencionar una propiedad en un modelo de vista (MVVM ¿alguien?) Utilizando INotifyPropertyChanged es de 10 líneas (9 líneas más un espacio), así que el objeto ViewModel bien diseñado y bien escrito con solo 5 propiedades, significa que la sección de propiedades es de al menos 50 líneas de código.
También me gustan especialmente cuando uso el código mal escrito de otra persona. Es una tontería asumir que siempre puedes refactorizar para usar un diseño perfecto. Por ejemplo, tienes una clase con 2500 líneas o más. Claro que esto probablemente podría haberse escrito mejor, pero no lo hizo, funciona, y está probado, y su empresa tiene el código en el bloqueo "solo de reparación", por lo que no se permite refactorizar. Puede hacer que una clase demasiado grande (mal escrita o no) sea mucho más legible usando declaraciones #region. Obtienes muchos de los beneficios de legibilidad de la separación de preocupaciones sin separar realmente la clase y luego, una vez que el código sale del bloqueo y puedes refactorizar, la mayoría del trabajo de separación ya puede hacerse utilizando # regiones y puedes convertir tu regiones en clase separada.
http://programmers.stackexchange.com/questions/53086/are-regions-an-antipattern-or-code-smell – Console