Wrap try ...... catch around code: That you are calling into you did not write Code that accesses external recources Code that accepts input from outer sources
Separate concers at the mitigate the impact of change on a software system. Common "concerns": Presentation logic Business / Domain logic Persistence logic Recommendation: Seperate concerns into projects within a given solution. Naming convention: MyApplication(Solution name) MyApplication.Presentation(.Web, etc. presentation project) MyApplication.Domain(domain/business rules project) MyApplication.Persistence(.Data, .DB persistence project)
Think: train switch... logic based on evaluation of a variable or property value.
Remove magic values (strings, integers, etc) using permanent, immutable identifiers. Only use for things that NEVER change - not for product prices, etc. Define const at local or field.
GUID means Globally Unique Identifier Working with Enumerations A data type accepting only enumerated values that you define. Strongly typed, ridding you app of "magic strings".
More elegant way to iterate collections In Visual Studio, after typing foreach, press tab button twice Implicitly Typed Local Variables with the var Keyword (Applies to locally scoped variable declarations) Compiler is smart enough to figure out the data type when you initialize the variable. Become increasingly important because sometimes its difficult to know what…
Dictionary allows you to use a key to access a member of the collection. Think: Webster's dictionary... the word (key) then the definition (instance of a given type) Key is anything that is meaningful in your system. Key must be unique. TKEY => type of the key TValue => type of the value