2010-10-06 19 views
5

Za chwilę utworzę klasę użytkownika dla mojego projektu. Jakieś opinie na temat tego, czy tworzenie tak powszechnie nazwanej klasy jest złym zwyczajem? Mogłem uzupełnić go o prefiks specyficzny dla mojego projektu.Java - najlepsza praktyka w nazewnictwie klas "User"?

+1

to projekt, który ma być używany jako biblioteka przez inne projekty (a Użytkownik będzie klasą publiczną)? – Thilo

+0

Nie. Własny projekt internetowy. Właściwie nie ma problemu z utrzymaniem użytkownika jako użytkownika, ale mamy też inną koncepcję domeny sesji. Nie dotarłem jeszcze do tego, ale nazywanie tego już daje mi zgagę. – Steve

Odpowiedz

3

Do tego służą urządzenia packages.

+2

Cóż, możesz importować dwa pakiety z klasą "User". To prawdopodobnie spowodowałoby pewne bóle głowy. – rkg

+0

@Ravi, ale jeśli to miałoby być problemem, możesz odnieść się do klas po pełnych nazwiskach. –

+2

@Michael: To prawda, ale uważam, że szkodzi to czytelności kodu. – rkg

1

Posługiwanie się pospolitymi nazwami nie jest złym zwyczajem, dopóki i dopóki nie opiszemy tej nazwy jako funkcjonalności klasy. pamiętaj, aby tworzyć odpowiednie pakiety, które będą bardziej precyzyjnie definiować twoją klasę.

2

Proponuję definitywnie przedłużyć termin specyficzny dla aplikacji do klasy użytkownika. "Użytkownik" jest zbyt powszechny i ​​niejasny. Możesz łatwo skończyć używając API, które ma klasę "User" lub interfejs. Chociaż najnowsze IDE sprawiają, że stosunkowo łatwo jest poprawić kod, byłoby czystsze i łatwiejsze, jeśli masz klasę "User" specyficzną dla aplikacji.

+0

Zgadzam się z Tobą. Zaczyna stawać się bałagan, gdy masz wiele klas o tej samej nazwie. –

0

Powinieneś używać Javy package s, aby uniknąć konfliktów nazw. Nie ma nic złego w używaniu nazwy pospolitej, po prostu pamiętaj, aby umieścić ją we własnym pakiecie. Na przykład można mieć następującą strukturę:

com/ 
    yourwebsite/ 
     yourproject/ 
      userdata/ 
       User.java 

Następnie rozpocząć plik "User.java" z:

package com.yourwebsite.yourproject.userdata; 

Po zaimportowaniu go, by użyć:

import com.yourwebsite.yourproject.userdata.User; 
+1

Proponuję, aby ludzie nie podawali nazw swoich klas "Łańcuch" lub "Lista" lub "Kolekcja" lub "Wyjątek", "Połączenie" lub "Sesja". Nie mam nic przeciwko "Użytkownikowi", choćby dlatego, że nie jest on powszechnie używany gdzie indziej (w moim bieżącym obszarze roboczym, który ma wiele bibliotek, jest tylko jeden w "com.sun.tools.internals ..." i jeden w "org" .hsqldb ", z których żaden najprawdopodobniej nie będzie użyty). – Thilo

+0

@Thilo, tak, na pewno nie używałbym nazw, które są już używane w żadnym z pakietów "java. *" Lub "javax. *", Ale nie ma klasy User w Java API od tego pisania. –

1

Zawsze staram się używać popularnych nazw, takich jak Użytkownik, dla jasności. Upewnij się, że nazwy pochodzą z domeny problemu i istniejącego słownika projektu. Uważaj na niejednoznaczności, a jeśli się pojawi, zmień nazwę klasy. Nowoczesne IDE z automatyczną obsługą refaktoryzacji ułatwiają to.

+0

Tak. Posiadanie poprawnej nazwy klasy w odpowiednim pakiecie będzie właściwą rzeczą. IDE, takie jak IntelliJ bardzo dobre wsparcie dla wyszukiwania i importowania nazw klas - może być nawet automatyczne. – Jayan

0

Ta nazwa prawdopodobnie nie będzie używana przez żaden publiczny interfejs API, więc aplikacja może z niej korzystać.

Powiązane problemy