• .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方法的返回值。

  • 相关阅读:
    android 微信(5.3)聊天UI的布局思考
    android 屏幕适配
    不同Activity之间的动画切换
    Freemarker 进行字符串截取
    如何使带背景图片的Button按钮中的文字居中偏上显示
    关于在IE-8下 button的背景图片不能正确显示的问题
    android Xmpp+openfire 消息推送 :SASL authentication failed using mechanism DIGEST-MD5
    Android运行出现“java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。”
    计算机网络
    Java基础-3
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2453168.html
Copyright © 2020-2023  润新知