Item 6: Use Expressive, Consistent Type Parameter Names使用富有表现力的、前后一致的类型参数名称
对于该问题,有两大基本阵营。一方认为“单个字母”的类型参数名称更好,因为它减少了泛型声明的签名的大小,这是被大多数C++模板库所使用的模式。另一方认为一个字母过于简短,不足以表达类型参数的本质意义,他们希望用长一点的、更具有表述性的名字。
用中国话最好来解释了:具体问题具体分析,在两种方法之间折中处理。
下面的例子极好的表现了这一点:
public class Dictionary<K, V> {}
public class Dictionary<TKey, TValue>
Item 7: Use Aliasing for Complex or Frequently Used Types对复杂的或者频繁使用的类型,使用别名
简单的不需要解释J
看例子J
public void ProcessItem(MyType1<long, double, string> value, int status)
{
MyType1<long, double, string> x = new MyType1<long, double, string>();
if (status == 1)
{
MyType1<long, double, string> y = value;
}
Else
{
Nullable<MyType1<long, double, string>> z =
new Nullable<MyType1<long, double, string>>();
}
}
使用别名后可以简化为:
using MType = MyType1<long, double, string>;
public void ProcessItem(MType value, int status)
{
MType x = new MType();
if (status == 1)
{
MType y = value;
}
else
{
Nullable<MType> z = new Nullable<MType>();
}
}