오래된 감자인 #region, #endregion에 대한 의견입니다.
IDE(Visual studio)에서 collapse, expand 가능한 코드 블록을 지정하는 역할
결국 이는 Visual studio를 위한 코드일뿐입니다.
사용하지 않아야 하는 이유
MSDN의 내용을 참조하면 이는 임의로 코드 블록을 지정하기 위해서만 필요한 내용입니다.
기본적으로 IDE에서는 constructor, property, method 및 using에 대해서 collapse, expand를 지원합니다. (Ctrl + M,O)
열고 닫기가 번거롭습니다.
Multi-level의 code block은 ugly code를 숨기는 결과를 낳을 수 있습니다.
Legacy code는 TFS(형상 관리 툴)상으로만 남기면 됩니다.
이를 주석으로 만들어 code block으로 쌓지 않습니다.
예외
경험적으로 MVVM light을 적용한 Silverlight에서는 code block을 적극 사용했고, 그랬어야 했습니다.
이는 그 특성상 INotifyPropertyChanged라는 interface를 상속해야 했고 이는 매우 지저분한 코드를 만들어 냈습니다.
위와 같이 멤버변수, 상수, property, method등이 복합적으로 하나의 역할을 수행해야하는 경우에 한해서는 허용함.
References
http://extractmethod.wordpress.com/2008/02/29/just-say-no-to-c-regions/
'Programming > .Net' 카테고리의 다른 글
[NuGet] ImageResizer (0) | 2014.10.14 |
---|---|
dynamic 형식의 활용 (0) | 2014.09.04 |
Embedded resource name 규약 (0) | 2014.07.29 |
[NuGet] PagedList.Mvc (0) | 2014.07.22 |
LinQ 유사 검색 (0) | 2014.07.22 |