- Remove unused
privatefields and functions. - Do not cast unnecessarily. Avoid duplicate casts where possible, since there is a cost associated with them.
- Properties that return arrays are prone to code inefficiencies. Consider using a collection or making this a method.
- To test for empty
strings, check ifString.Lengthis equal to zero. Constructs such as"".Equals(someString)andString.Empty.Equals(someString)are less efficient than testing thestringlength. Replace these with checks forsomeString.Length == 0. - Methods in the same type that differ only by return type can be difficult for developers and tools to properly recognize. When extending a type, be sure not to define new methods that differ from base type methods only by type.
- Use
stringbuilderinstead ofstringtypes forstringmanipulation. - Use
String.Formatinstead of concatenating and appendingstrings. - Use
Type.TryParserather thanConvert.ToDestinationType(). For example, useint.TryParse()rather thanConvert.ToInt32()which might throw an exception. - Override
Equals()method wherever applicable in your classes. - Consider passing base types as parameters - Using base types as parameters to methods improves re-use of these methods if you only use methods & properties from the parameter's base class. E.g. use
Streaminstead ofFileStreamas a parameter when only callingStream.Read(), this makes the method work on all kind ofstreams instead of just File streams. - Do not catch general exception types - You should not catch
ExceptionorSystemException. Catching generic exception types can hide run-time problems from the library user, and can complicate debugging. You should catch only those exceptions that you can handle gracefully. - Use properties instead of visible instance fields.
- Follow the same naming conventions accross the solution.
- Remove unwanted commented code, indent code properly.
- Use curly braces with in an
ifstatement, even if there is a single statement in theifblock. This will provide better readability. - Make sure to refactor your code to move the duplicated code to common reusable functions.
- Move one time control settings into the .aspx page rather than having them in the code behind in
if(!IsPostback)block. - Use inheritance wherever possible, which enables code reuse and also reduces the amount of code we have to write and test.
- Move the reusable JavaScript functions to an external .js file instead of having them on the page.
- For controls that are declaratively specified on the page, tie the event handlers to the controls events on the aspx page rather than initializing them in the codebehind. If the controls are built dynamically, then we do not have a choice.
- Make sure to check for
nulls when using any type retrieved from a session, querystring or a database to avoidNullReferenceExceptions. - Use
foreachloop instead of usingforloop which may lead to out of boundary run time exceptions.
Technology has been changing greatly likewise financial situation.Hereby, i will be presenting my opinions towards all of these.
Monday, January 24, 2011
Best practices in developing ASP.NET applications
Best practices in developing ASP.NET applications
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment