zoukankan      html  css  js  c++  java
  • 【转】编写高质量代码改善C#程序的157个建议——建议129:泛型类型参数要以T作为前缀

    建议129:泛型类型参数要以T作为前缀

    作为一种约定,泛型类型的参数要以T作为前缀。如委托声明:

    Action<T1,T2>

    其中,泛型类型参数名不应该处理成:

    Action<Arg1,Arg2>

    当然,这仅仅是一种习惯,若果使用第二种命名方式,编译器并不会报错,但是作为调用者,也许不能意识到这里是一个泛型类型参数。这个问题在为类型指定泛型的时候尤为明显,因为为类型指定泛型类型参数的声明不会出现在公开的接口中,如:

        class SampleClass<T>
        {
            public void SampleMethod(T t)
            {
                
            }
    
            public void SampleMethod2<T1>(T1 t)
            {
                
            }
        }

    在这个例子中,对两个方法的调用代码如下:

                SampleClass<string> sampleClass=new SampleClass<string>();
                sampleClass.SampleMethod("123");
                sampleClass.SampleMethod2<string>("123");

    我们在使用SampleMethod方法的时候,如果将类型的泛型由T改为Person,很容易在类型内部会不自觉人为Person是一个类型,而不是一个泛型。而SampleMethod2带来的困扰就会少一些,因为泛型在使用它的地方被声明了。当然,无论如何,我们都不应该为泛型指定一个模棱两可的命名。记住,只要是泛型,就应该以T作为前缀命名。

    转自:《编写高质量代码改善C#程序的157个建议》陆敏技

  • 相关阅读:
    Java 将Clob字段转换成String字符串
    Java BigDecimal详解
    java循环创建对象应该在循环体内还是循环体外
    Java 通过身份证获取生日和性别
    Java将数据进行分组处理
    Java 2进制和16进制的转换
    Map-HashMap 与 IF 判断内存占用对比
    Groovy脚本-通用SQL开关
    Oracle用户、授权、角色管理
    【docker随笔系列】安装sqlserver
  • 原文地址:https://www.cnblogs.com/farmer-y/p/8006516.html
Copyright © 2011-2022 走看看