将集合接口名称用作变量名称的一部分是一个好习惯吗?

时间:2016-03-10 13:32:33

标签: java

我知道使用Hungarian notation是一种不好的做法。

但是,当我们使用集合时,使用集合接口名称作为变量名称的一部分是一种不好的做法?

  • 示例1:

     List<Student> listStudents; 
     //or
     List<Student> studentsList;
    

    对战

     List<Student> students;
    
  • 示例2:

    Map<Integer, Student> mapStudents; 
    //or 
    Map<Integer, Student> studentsMap; 
    

    对战

    Map<Integer, Student> students;
    
  • 示例3:

       Set<Student> setStudents;  
       //or
       Set<Student> studentsSet
    

    对战

       Set<Student> students;
    

2 个答案:

答案 0 :(得分:2)

如果您更仔细地选择名称,如果您正确描述 的集合而不是 的内容,您会发现它更容易。

  • 示例1:

     List<Student> listStudents; **NO**
    

    对战

     List<Student> allStudents; **YES**
    
  • 示例2:

    Map<Integer, Student> studentsByID; **YES**   
    

    对战

    Map<Integer, Student> students; **NO**
    
  • 示例3:

       Set<Student> specialNeedsStudents;  **YES**
    

    对战

       Set<Student> students; **NO**
    

答案 1 :(得分:-2)

我想说将变量名称添加到变量名称通常被认为是一种不好的做法。

有很多工具可以告诉你变量的类型而不必查找定义,这会使这些信息变得多余。