Znam już standardową konwencję nazewnictwa pakietów Java polegającą na użyciu nazwy domeny do tworzenia unikalnej nazwy pakietu (tj. Pakietu com.stackoverflow.widgets
). Jednak nigdy nie widziałem żadnych zaleceń dotyczących wybierania nazw pakietów dla projektów osobistych. Zakładam, ponieważ dzieje się tak, ponieważ jest to naprawdę kwestia osobistego gustu.
Jak więc wybrać nazwy pakietów dla projektów osobistych, które nigdy nie trafią do produkcji (w wolnym czasie możesz eksperymentować z nowym frameworkiem). Zakładając, że nie masz osobistej witryny internetowej, której domeny możesz użyć do stworzenia struktury pakietu, co robisz (lub chciałbyś) zrobić? Czy masz logiczny system do generowania nowych nazw pakietów dla projektów hobbystycznych, czy po prostu używasz prostych, jednorazowych nazw pakietów, takich jak mypackage
?
Ponieważ jestem po prostu ciekawy, jakie są opinie różnych ludzi na ten temat, stworzyłem tę wiki społeczności.
Osobiście nigdy się nad tym nie zastanawiałem, ale chciałem dziś wieczorem pobawić się Wicketem i przyszło mi do głowy, że nie mam jasnego pojęcia, jak chcę organizować moje hobby. Oddzielna, odrębna konwencja nazewnictwa pakietów dla projektów hobbystycznych (przynajmniej moim zdaniem) byłaby dobrym sposobem na wyraźne oddzielenie kodu osobistego i związanego z pracą.
Myślałem o prostej hierarchicznej konwencji nazewnictwa, aby zachować źródło moich osobistych projektów w jednym folderze głównym:
- Użyj
myprojects
jako folderu głównego - Dołącz nazwę projektu
- Dodaj dodatkowe nazwy podpakietów
Tak więc mój projekt Wicket byłby w pakiecie, myprojects.learningwicket
a testy jednostkowe byłyby w pakiecie myprojects.learningwicket.tests
(na przykład).
źródło
onion.duskgytldkxiuqc6.packagename
). Dopóki klucz prywatny pozostaje tajny, masz kontrolę nad nazwą domeny. Rejestracja (generowanie) jest więc bezpłatna i jest trwała (w przeciwieństwie do tradycyjnych domen). Jest zgodny z literą konwencji Java i jednoznacznie identyfikuje użytkownika.Odpowiedzi:
Jeśli robisz tylko osobiste projekty, w których nikt inny nie będzie używał kodu, możesz wymyślić nazwę pakietu, którą lubisz. Nie twórz jednak czegoś, co zaczyna się od
com.
lubnet.
lub innej domeny najwyższego poziomu, ponieważ sugerowałoby to, że jesteś właścicielem nazwy domeny (tj. Używaniecom.john
jako nazwy pakietu tylko dlatego, że tak się składa, że imię John nie jest dobrym pomysłem) .Jeśli zamierzasz przekazać kod komuś innemu, powinieneś użyć globalnie unikalnej nazwy pakietu, co zgodnie z konwencjami Java oznacza, że powinieneś zarejestrować i używać nazwy domeny.
źródło
com.xyz
czy ta nazwa pakietu powinna być gdzieś zarejestrowana? PSxyz
jest moim klientem.com.github.mygithubid.myproject
?Po prostu używam moich inicjałów: fg.nameofproject.etc
Zmniejsza pisanie. W dowolnym momencie można dodać przedrostek sf.net lub com. lub org. lub com.google ..
Ponieważ projekt jest osobisty, traktuj go wyjątkowo, podobnie jak świeżo wyprasowaną spersonalizowaną koszulkę na prezent - będzie dobrze.
źródło
bond.james.007
bond.james._007
- nie mają tego samego pierścienia ...: - {źródło
<sarcasm>
Bah. Każdy szanujący się programista miałby własną nazwę domeny. To jest oczywiście podchwytliwe pytanie. Każdy ma własną nazwę domeny!</sarcasm>
:-)Ok, z całą powagą, kupowanie niestandardowej nazwy domeny jest prawdopodobnie najłatwiejszą opcją. Za około 10 USD rocznie możesz znaleźć renomowanych dostawców, którzy będą hostować domenę i przekazywać pocztę e-mail.
źródło
Przechowywać większość moich projektów hobby w Google Code, więc po prostu korzystać z witryny projektu jako nazwy pakietu:
com.googlecode.donkirkby.someproject
.źródło
nazywam się anjan
zwykle używam com.anjan
Mam własną firmę fantasy - czasami z niej korzystam
tradycja ze sourceforge (jak pokazała hibernacja i inne pakiety) to net.sf. *
więc, w zależności od nastroju, możesz to zrobić.
źródło
Myślę, że masz to opracowane. Pokusa, której należy unikać, to w ogóle nie zawracać sobie głowy nazwą pakietu. Łatwo jest zapisać kilka naciśnięć klawiszy, ponieważ „Piszę tylko kod testowy”. Ale potem kod staje się dobry, użyteczny i duży, a potem zdajesz sobie sprawę, że masz solidny początek dla czegoś, co może być biblioteką lub aplikacją o długiej żywotności. Może nie jest to biblioteka ani aplikacja, która kiedykolwiek opuści Twoją sieć domową, ale chodzi o to, że nie myślisz z wyprzedzeniem. To duch informatyki w Danii - zawsze myśl z wyprzedzeniem, choćby odrobinę.
Konwencja nazewnictwa, której używam w moim kodzie hobbystycznym, jest bardzo podobna do twojej. Mam katalog najwyższego poziomu o nazwie „futura” (długie, nudne powody, dla których pojawiła się ta nazwa), z którego wisi cały mój kod. Próbuję zorganizować swój kod w biblioteki pakietów, nawet jeśli może to być klasa lub pakiet, których nigdy nie używam w innym projekcie. Wszystkie aplikacje (czyli wszystko, co ma void main (String [] args) w klasie) umieszczam w folderze futura.app. *. Staram się również naśladować nazwy standardowych pakietów bibliotek Javy dla własnego kodu, chociaż w kilku przypadkach złamałem konwencję z powodu własnych upodobań (np. Futura.inet dla Internetu, a nie tylko gniazdo, kod i kolekcje futura. -util rzeczy.) Parafrazując Davida Mameta: Zawsze uogólniaj. Zawsze uogólniaj!
Z uwagi na to, że zadałeś to pytanie, podejrzewam, że zgadzasz się również z moją ostatnią uwagą: nie musisz traktować hakowania hobbystów jako projektu na poziomie przedsiębiorstwa, ale jeśli wprowadzisz część tej dyscypliny do gry domowej, hobby jest tym bardziej satysfakcjonujące.
źródło
Używam adresu URL OpenID, a następnie dołączam nazwę projektu. na przykład
com.myopenid.cd1.twitter
jest to pakiet główny klienta Twittera, który opracowałem.źródło
Moja nazewnictwa:
prj.project_name
.źródło
Po prostu używam swojego imienia: nazwisko.initials.xxx, jako miłego połączenia między zwięzłością a unikaniem kolizji. Pomyślałem, że dałoby to rozsądną przestrzeń nazw wolną od kolizji, gdybym kiedykolwiek zdecydował się na publiczne opublikowanie kodu. Mam też mały program, który napisałem, który może przepakować całe drzewa katalogów, więc pomyślałem, że jeśli kiedykolwiek będę musiał przepakować do publikacji, jest to dość bezbolesne ... dlatego nie traciłem zbyt wiele snu nad tym.
Po nazwie sename.initials.xxx używam aplikacji do pakietów aplikacji, lib do pakietów bibliotek i tst do rzeczy, z którymi eksperymentuję.
źródło
co myślisz o lastname.firstname.project ??? jak luz.marlon.project?
źródło
Myślałem o zadaniu tego samego pytania. Do tej pory użyłem przedrostka com.tehvan, mimo że tak naprawdę nie mam firmy.
źródło