2016-03-10 65 views
1

我知道使用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; 
    
+3

這是完全看來爲基礎,並由此偏離主題爲SO。 –

+3

事實上,非常基於意見,但是你正在設置'studentList','studentSet','studentMap'選項。無論如何,作爲一個觀點,通常的答案是「否」,除非你可以說明爲什麼你需要將這個類型的集合添加到名稱中。如果你不能給出具體的原因,那麼默認應該使用'學生'。 – hyde

+0

請參閱[標籤:匈牙利語]。 – Raedwald

回答

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** 
    
-2

我要說的是,加入集合變量名的名稱通常被認爲是一種不好的做法。

有很多工具可以告訴你變量的類型,而不必尋找定義,這使得這些信息變得冗餘。

相關問題