1.  避免将多个类放在一个文件里面。
  2.  一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。
  3.  一个文件好不要超过500行的代码(不包括机器产生的代码)。
  4.  一个方法的代码长度好不要超过25行。
  5.  避免方法中有超过5个参数的情况。使用结构来传递多个参数。
  6.  每行代码不要超过80个字符。
  7.  不要手工的修改机器产生的代码。
  a)  如果需要编辑机器产生的代码,编辑格式和风格要符合该编码标准。
  b)  尽可能使用分部类来提出需要维护的部分。
  8.  避免利用注释解释显而易见的代码。
  a)  代码应该可以自解释。好的代码由可读的变量和方法命名因此不需要注释。
  9.  避免使用方法级的文档。
  a)  使用扩展的API文档说明之。
  b)  只有在该方法需要被其他的开发者使用的时候才使用方法级的注释。(在C#中是///)
  10.  不要硬编码数字的值,总是使用构造函数设定其值。
  11.  只有是自然结构才能直接使用const,比如一个星期的天数。
  12.  避免在只读的变量上使用const。如果想实现只读,可以直接使用readonly。
public class MyClass
{
public readonly int Number;
public MyClass(int  someValue)
{
Number = someValue;
}
public  const int  DaysInWeek = 7;
}
  13.  每个假设必须使用Assert检查
  a)  平均每15行要有一次检查(Assert)
  using System.Diagnostics;
  object GetObject()
  {…}
  object obj = GetObject();
  Debug.Assert(obj != null);
  14.  代码的每一行都应该通过白盒方式的测试。
  15.  只抛出已经显示处理的异常。
  16.  在捕获(catch)语句的抛出异常子句中(throw),总是抛出原始异常维护原始错误的堆栈分配。
  catch(Exception exception)
  {
  MessageBox.Show(exception.Message);
  throw ;  //和throw exception一样。
  }
  17.  避免方法的返回值是错误代码。
  18.  尽量避免定义自定义异常类。
  19.  当需要定义自定义的异常时:
  a)  自定义异常要继承于ApplicationException。
  b)  提供自定义的序列化功能。
  20.  避免在单个程序集里使用多个Main方法。
  21.  只对外公布必要的操作,其他的则为internal。
  22.  避免友元程序集,因为它能增加间装配耦合。
  23.  避免代码依赖于从特定位置运行的程序集。
  24.  使应用程序集尽量为小化代码(EXE客户程序)。使用类库来替换包含的商务逻辑。
  25.  避免给枚举变量提供显式的值。
//正确方法
public enum Color
{
Red,Green,Blue
}
//避免
public enum Color
{
Red = 1,Green =  2,Blue = 3
}