Personally, I like regions… I agree that there are occasions when knowing which region to open when looking for a method is a pain. However, there are:
a. Ctrl+Shift+F - Find across project / solution files
b. Ctrl+I- Incremental
c. Ctrl+F - find within file
- The method-name / property drop-down list at the top of each code tab
- GOTO DEFINITION
- FIND ALL REFERENCES
In fact, the number of times I find myself looking in a file just to browse it is so minimal it can be discounted. I am just about always looking for soem reference that one of the searches above has found.
I also consider regions (when used ‘how I like to use them’ big grin to have a useful side-effect - it makes me think about the intended audience of the code, and how it will be used. If it’s public, I need to consider the caller and interface considerations etc - perhaps CLR interop is a consideration etc., but if its private perhaps I can pass around different types, etc. The region can be a marker to remind us to think about these things.
However, having said all that, where I currently work regions were historically used as an ALTERNATIVE to methods / functions even (you know, the two-thousand line method with twenty regions in) - which I can assure you I do consider to be total and utter misuse of regions