Регионы кажутся хорошими в теории, но, по моему опыту, это функция, которой часто злоупотребляют.
Программисты любят порядок; большинство людей любят убирать вещи в маленькие коробочки. Они группируют беспорядочный код, поля, свойства, конструкторы, методы, публичные методы, внутренние методы, приватные методы, вспомогательные методы, константы, реализации интерфейса, и Бог знает, что еще.
Единственное, что я могу вспомнить, это раздражает меня больше - это использование частичных классов, чтобы скрыть сложность.
В любом случае, хотя чрезмерное использование регионов часто является показательным признаком сокрытия беспорядка, которого не должно быть, я также видел хороший код, затопленный ими. Я скачал несколько проектов с открытым исходным кодом, написанных уважаемыми программистами. Эти ребята пишут какой-то удивительный код, но что это?
Одно поле? Полевой регион!
Два свойства? Недвижимость в регионе!
Один конструктор? Строитель региона!
Один частный метод? Частный метод регион!
Я мог бы продолжить.
По сей день я все еще поражаюсь, когда вижу это. В некоторых случаях область, пустая строка, другая пустая строка и конечная область могут занимать 5-кратное пространство исходного кода (5 строк с областями, 1 строка без). Это в основном форма ОКР; эти регионы могут апеллировать к нашему чувству порядка во время написания программного обеспечения, но на практике они бесполезны - чистый шум. Когда я впервые начал писать на C #, я тоже злоупотреблял ими. Но потом я понял, насколько шумным был мой код, и что нажатие ctrl-k l каждый раз, когда я открываю файл, является признаком того, что я делал это неправильно.
Я могу понять, когда класс реализует интерфейс, который имеет много свойств (например, для привязки данных) или даже группу методов для реализации некоторых связанных функций, но для всего? . Это не имеет смысла.
Время от времени я все еще использую регионы, но ... я проявляю большую сдержанность.