Java paketleri com ve org


Yanıtlar:


113

Sun'a göre , paketler alan adınızın tersine göre isimlendirilmeli ve ardından uygun gördüğünüz her şeyi takip etmelidir. Çoğu şirket veya kuruluşun bir .comveya .orgalan adı vardır ve bu nedenle çoğu paket com.veya ile başlar org.. Sun Code Conventions'dan alıntı yapmak için :

Benzersiz bir paket adının öneki her zaman tamamen küçük harflerle ASCII harfleriyle yazılır ve şu anda com, edu, gov, mil, net, org veya İngilizce iki harfli kodlardan biri olan üst düzey alan adlarından biri olmalıdır. ISO Standardı 3166, 1981'de belirtildiği şekilde ülkeleri tanımlama.

Paket adının sonraki bileşenleri, bir kuruluşun kendi dahili adlandırma kurallarına göre değişir. Bu tür kurallar, belirli dizin adı bileşenlerinin bölüm, departman, proje, makine veya oturum açma adları olduğunu belirtebilir.

Ve verdikleri örnekler, şirketin DNS adını kullanmanız gerektiğini açıkça ortaya koyuyor:

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

Daha az yaygın olmalarına rağmen , vahşi doğada da göreceksiniz edu.ve net.paketleyeceksiniz .


3
Şirket etki alanlarını değiştirirse ne olur?
Leonardo Raele

4
@LeonardoRaele Tipik olarak bu durumda bir acı dünyasına girersiniz ;-) Daha ciddisi, iki seçenek vardır, tüm sınıfları yeniden adlandırın, bu kod zaten içse çalışabilir veya eski adı kullanarak bırakabilirsiniz, çünkü bu muhtemelen olacaktır yine de benzersiz olun.
Paul Wagland

2
Bir kuruluşun parçası olmadığınız veya bir web siteniz olmadığı zamanlar için en iyi adlandırma kuralı nedir? Daha önce me.usernameönerilenleri görmüştüm ama bunun en iyi mi yoksa tek standart mı olduğundan emin değilim.
Aaron Franke

2
@AaronFranke İnsanların kendi etki alanları olarak GitHub kullanıcı adlarını kullandıklarını gördüm, bu nedenle, örneğin: com.guthub.pwagland.xxx birincil amaç benzersiz bir ad elde etmektir, böylece onu değiştirmek zorunda kalmazsınız ve başka birinin seçtiği isimle asla çelişmez.
Paul Wagland

1
ya şirketinizin 2 alan adı varsa, yani wordpress.com ve wordpress.org
Janac Meena

48

Paket adlarını tersine çevrilmiş internet alan adları olarak da görebilirsiniz (bu genellikle gerçek dünyada da geçerlidir, örneğin http://commons.apache.orgorg.apache.commons ile hangisinin ilişkili olduğuna bakın ). (Ticari) ve (organizasyon) daha sonra burada aslında Üst Düzey Alan adları.comorg

Paket isimleri genel olarak sadece karşılaştığınız kodun üreticisini / satıcısını belirtmek içindir.


16
Ve paket adının benzersiz olmasını sağlamak için. Bunu yapmanın oldukça akıllıca bir yolu olduğunu düşünüyorum
Thorbjørn Ravn Andersen

2
Yanılıyor olabilirim, ancak bu noktada herkes kullanacaksa, com gereksiz geliyor. Şirket adını tek başına kullanmayı tercih ederim. Npm ve composer gibi diğer paketleme sistemleri için sahip oldukları adlandırma sistemini tercih ediyorum. 'Kullanıcı adı / paketAdı' veya benzeri bir şey kullanıyorlar. Bu yüzden
java'daki

9

Genellikle comşirketler tarafından paketlerin isimlendirilmesinde kullanılır, comardından şirketin adı gelir. Örneğin com.sunJVM'de paketleriniz var .

orgPaket öneki çoğunlukla vb apache, W3C gibi, kar amacı gütmeyen kuruluşlar tarafından veya açık kaynak kodu için kullanılır


Dahili kod için bir şirketin .com URL'sini ve herkese açık hale getirilen herhangi bir kod için .org'u kullanma kuralı iyi bir fikirdir. Bu cevaptan özetlediğim buydu.
Dennis

3
Dennis, bunun iyi bir fikir olacağını sanmıyorum. Bu, kodun serbest bırakılmasının paket adlarını değiştireceği ve orijinal adları kullanan dahili yazılımı bozacağı anlamına gelir. Ayrıca, example.com ve example.org farklı şirketlere aitse ve her ikisi de Java kodunu yayınlamak isterse, bir ad alanı çakışması olur.
proski

3

Paket adlandırma için Oracle belgesine bakın

Sınıf / arayüz / ek açıklamalar / vb standart adlandırma için Adlandırma Kurallarına bakın

paket adı ve sınıf standart sözdizimi:
<ters etki alanınız>. <proje adı>. <denetleyici / dao / hizmet / işleyiciler vb.>. <sınıfınız>

example1: (burada alan: - "stackoverflow.com", proje: - "Test")
com.stackoverfllow.test.handler.TestHandler

example2: (burada alan: - "www.google.co.in", proje: - " Projem " )
.co.google.myproj.controller.MainController

ancak java. *, javax. *, sun. * vb. gibi ayrılmış alanlar için oracle topluluğundan izin almalısınız

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.