I was wondering if there is some standard way to divide a class into regions. almost every project is using a different "region approach" (even classes within the same project).
We pay so much attention to naming conventions and so little to the class's structure. I think that introducing some standard will make it much easier on us to jump into a new code.
I for example use the following :
public class SomeClass
{
#region Consts
#endregion
#region Fields
#endregion
#region Properties
#endregion
#region Construction
#endregion
#region Public Methods
// Class's API
#endregion
#region Overrides
// Different region for each class override
#endregion
#region Private Helpers
// private methods used only to support external API Methods
#endregion
}
This is for a basic class of course. when the class is more complicated, more regions are introduced (Destruction, Abstract Methods and so on).
what do you think about that? what regions do you use in your classes?
EDIT
After reading some of the answers I feel that I need to sharpen the question (Alt + Enter if you know what I mean :)):
Do you think that using regions can improve the readability of your code? If so, do you think that introducing some standard way to do it will simplify the way we read other people code?
Another Edit
About the single responsibility issue - I didn't introduce regions like "file handling" or "input handling". the regions I used are ones that will probably be present in any class you'll write. sometime I'll want to see only the API that this class is exposing and some other time I'll want to see only the private methods or the overrides. again, in that case, I don't see any harm by hiding some code.