zoukankan      html  css  js  c++  java
  • .NET 设计规范.NET约定、惯用法与模式8.使用规范

      这里就如何在公用API中使用常用类型提供提供一些规范。

      8.1数组

      要在公用API中优先使用集合,而不是优先使用数组。

      不要使用只读的数组字段。虽然字段本身是只读的,用户不能对其进行修改,但对用户可以修改数组中的元素

      有两种方法可以避免使用只读的数组字段,一种是使用只读的集合,另一种是在返回数组之前对其进行复制

      考虑使用不规则数组(jagged array),而不是要使用多维数组

      //jagged arrays

      int [][] jaggedArray={

      new int[]{1,2,3,4},

      new int[]{5,6,7},

      new int[]{8},

      new int[]{9}

      };

      //multidimension arrays

      int [,] multidmensional arrays

      {

      {1,2,3,4},

      {5,6,70},

      {8,0,0,0},

      {9,0,0,0}

    }

    8.2 attribute

      System.Attribute 是个基类,用户可以用它来定制自己的attribute。

      当使用attribute时,有一些属性是必须由用户指定。用于这些属性通过构造函数中的必填参数来表示,因此称为必填属性(required property)或必填参数(required argument)。

      当使用attribute时,不是必须指定的那些属性称为可选属性(optional property)或可选参数(optional argument),它们通过可设置的属性来表示。

      要在命名自定义attribute类时添加"Attribute"后缀

      要在定义自己的attribute时使用AttriubteUsageAttribute

      要为可选参数提供可设置的属性

      要为必填参数提供自读属性

      要提供工作函数参数来对必填参数进行初始。每个参数名应该与相应的属性名相同

      避免提供构造函数参数来对于可选参数对应的属性进行初始

      避免对自定义attribute的构造函数进行重载

      要尽可能将自定义attribute类密封起来。这样会使查找attribute更快

    8.3 集合

      为了对一组有共同特征的对象进行操作而特别设计的任何类型,都可以称为集合(Collection)。

      不要在公有API中使用弱类型集合,如果返回值和参数表示一个集合元素,那么其类型应该与元素类型完全一致,而不应该使元素类型的任何基类。

      不要在公有API中使用ArrayList或List<T>

      不要在公有API中使用Hashtable或Dictionary<TKey,TValue>

      不要使用IEnumberator<T>、IEnumreator或实现了这两个接口之一的任何其他类型,触发是作为GetEnumerator方法的返回值。

  • 相关阅读:
    mysql相关
    java注解@Valid@Validated表单验证
    驼峰参数、下划线["_"]参数,属性互传
    redis,windows设置记录
    Java入门第一季学习总结
    计算属性calc()的运算规则
    swiper实现翻页,页面高度超出可滚动
    git常用命令
    Linux下svn常用命令
    图片高度不够一页,如何覆盖全屏
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2453168.html
Copyright © 2011-2022 走看看