Link to home
Start Free TrialLog in
Avatar of ICPooreman
ICPooreman

asked on

.Net C# code cleanup

Ok so I've been adding to this C# class that I've written and over time its become totally unorganized.  I'm new to .net so I'm not sure if I can do this but is there a tool that does basic code cleanup.

Mainly what I want is to alphabetize all the functions and the classes local variables as my codes been getting less readable as things have been getting added and that would really help.  Anybody with any .Net experience have any ideas as to if .Net has a code cleanup function.  

I've seen the edit>format thing which works ok but I'm mainly after alphabetizing my functions and variables.
ASKER CERTIFIED SOLUTION
Avatar of abel
abel
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
My best advice would be to ditch alphabetizing your functions; that makes little sense, because you want to logically group your functions, not alphabetize them. If you're using Visual Studio (I surely hope you are, because it is truly the king of IDE's, especially for C#), I suggest using the #region and #endregion directives. Any code between these two directives can be collapsed, and the region can be labelled for easy use. For example, I have a custom code snippet that does the "skeleton" for this automatically, and it looks similar to the following:
namespace SomeNamespace
{
     public class SomeClass
     {
          #region Fields
          // ALL fields, public and private
          #endregion
 
          #region Construction
          // ALL overloaded constructors
          #endregion
 
          #region Properties
          // ALL properties
          #endregion
 
          #region Public Methods
          // Group each method and all overloads
          // in their own region.
          #region SomeMethod
          public void SomeMethod() {}
          public void SomeMethod(int someInt) {}
          public void SomeMethod(int someInt, string someString) {}
          #endregion
          // ALL public/internal methods, grouped as above
          #endregion
 
          #region Private Methods
          // ALL private/protected methods, grouped as above
          #endregion
 
          // Any other logical groupings, conforming to above.
     }
}

Open in new window

I was going to suggest Resharper as well. I've used this add-on for quite some time now and I'll be honest.. I cannot do without it now. It is really helpful and saves quite a bit of time.
Avatar of ICPooreman
ICPooreman

ASKER

Wow I just downloaded resharper... I've only been playing with it for several minutes but I'm already quite impressed.  Thanks this did the trick.
maybe I should download it too, if all of you are so enthusiastic about it ;-)

> Wow I just downloaded resharper... I've only been playing with it for
> several minutes but I'm already quite impressed. Thanks this did the trick.

glad it helped you so well. Like I said: I should try it myself perhaps to cleanup some customer's code ;-)

Don't forget on the comment of tculler: using regions is quite a good thing and can be more helpful then alphabetizing... But that depends on your need, of course.