background image

.NET C#

 

语言用法编码规范

      一、一般用法
      1、不要省略访问修饰符。用相应访问修饰符显式声明所有标识符,而不允许显式声明默认值的标识
符。

      2

、不要使用默认的( 1.0.*”)版本控制模式。手动增加 AssemblyVersionAttribute 值。

          3 、 将 所 有 程 序 集 的 ComVisibleAttibute 设 置 为 false 。 然 后 , 选 择 性 地 对 需 要 的 单 个 类 启 用

ComVisibleAttribute。

      4、避免程序集之间的相互引用。
      二、变量和类型
      1、尽量在声明变量的语句中将变量初始化。
      2、使用要求的最简单的数据类型、列表或对象。例如,一般使用 int 类型,除非知道需要存储 64 位的
值,才使用 long 类型。

      3、始终使用内置 C#数据类型别名,而不是.NET 公共类型系统(CTS),包括:
        使用 short 不用 System.Int16
        使用 int 不用 System.Int32
        使用 long 不用 System.Int64
        使用 string 不用 System.String
      4、只是将成员变量声明为 private,使用属性为带有 public、protected 或 internal 访问修饰符的变量提
供访问。

      5、避免为 enum 指定类型。除非显式需要 long 类型,否则使用默认的 int 类型。
      6、避免声明内联字符串常数,而是使用常量、资源、注册表或其他数据资源。
      7、只为简单类型生命常量。
      8、为复杂类型声明只读或静态只读变量,而不声明常量。
      9、避免直接类型转换。而是使用 as 运算符并检查是否为 null。
      10、始终使用 for 循环显式初始化引用类型的数组。
      11、避免装箱和拆箱值类型。
      12、浮点值在小数点前后至少应该各包括一个数字。
      13、在字符串常数前加上前缀@,而不使用转义字符串。
      14、不要在循环内连接字符串。
      15、不要将字符串与 String.Empty

“”

或 相比较来检查空字符串,而是使用 String.Length==0 进行比较。

      16、避免在循环内进行隐藏的字符串分配,而是使用 String.Compare()。
      三、流控制
      1、避免在条件表达式内调用方法。
      2、避免使用 foreach 循环不可变值类型集合,如字符串数组。
      3、不要修改 foreach 语句中的枚举项。
      4、避免针对 true 或 false 计算布尔条件。
      5、避免在条件语句内进行赋值。
      6、避免使用复合条件表达式,请使用布尔变量将各部分分为多个易处理的表达式。
      7、避免在条件中进行显式布尔测试。
      8、只对具有并行条件逻辑的简单操作使用 switch/case 语句。
      9、对于短条件序列和复杂条件,优先使用嵌套 if/else 语句,而不是 switch/case。
      10、优先使用多态而不是 switch/case 来封装和委托复杂操作。
      四、异常处理
      1、不使用 try/catch 块用于流控制。