Paket Java com dan org

126

Apa arti dari paket orgdan comdi Java?

Gabriel
sumber

Jawaban:

113

Menurut Sun , paket harus diberi spasi sesuai dengan kebalikan dari nama domain Anda, lalu diikuti dengan apa pun yang Anda inginkan. Sebagian besar perusahaan atau organisasi memiliki .com, atau .orgnama domain, dan karenanya sebagian besar paket dimulai dengan com.atau org.. Mengutip dari Sun Code Conventions :

Awalan nama paket yang unik selalu ditulis dalam huruf kecil ASCII semua dan harus menjadi salah satu nama domain tingkat atas, saat ini com, edu, gov, mil, net, org, atau salah satu dari kode dua huruf bahasa Inggris mengidentifikasi negara sebagaimana ditentukan dalam Standar ISO 3166, 1981.

Komponen selanjutnya dari nama paket bervariasi sesuai dengan konvensi penamaan internal organisasi itu sendiri. Konvensi tersebut mungkin menetapkan bahwa komponen nama direktori tertentu menjadi divisi, departemen, proyek, mesin, atau nama login.

Dan contoh yang mereka berikan, memperjelas bahwa Anda dimaksudkan untuk menggunakan nama DNS perusahaan:

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

Anda juga akan melihat edu.dan net.mengemasnya di alam liar , meskipun jarang.

Paul Wagland
sumber
3
Bagaimana jika perusahaan mengubah domain?
Leonardo Raele
4
@LeonardoRaele Biasanya dalam kasus ini Anda memasuki dunia yang menyakitkan ;-) Lebih serius lagi, ada dua pilihan, mengganti nama semua kelas, yang dapat bekerja jika kode internal, atau biarkan menggunakan nama lama, karena itu mungkin akan tetap unik kok.
Paul Wagland
2
Apa konvensi penamaan terbaik ketika Anda bukan bagian dari organisasi atau tidak memiliki situs web? Saya telah melihat me.usernamesaran sebelumnya tetapi saya tidak yakin apakah itu yang terbaik atau satu-satunya standar.
Aaron Franke
2
@AaronFranke Saya telah melihat orang menggunakan nama pengguna GitHub sebagai domain mereka, jadi, misalnya: com.guthub.pwagland.xxx tujuan utamanya adalah mendapatkan nama yang unik, sehingga Anda tidak perlu mengubahnya, dan itu tidak akan pernah bertentangan dengan nama yang dipilih orang lain.
Paul Wagland
1
bagaimana jika perusahaan Anda memiliki 2 domain yaitu wordpress.com dan wordpress.org
Janac Meena
48

Anda juga dapat melihat nama paket sebagai nama domain internet terbalik (yang seringkali juga berlaku di dunia nyata, lihat misalnya org.apache.commonsyang berkorelasi dengan http://commons.apache.org ). The com(komersial) dan org(organisasi) di sini sebenarnya Top Level Domain nama .

Nama paket pada umumnya hanya untuk mengidentifikasi produsen / vendor kode yang Anda hadapi.

BalusC
sumber
16
Dan untuk memastikan keunikan nama paket. Saya pikir ini adalah cara yang cukup cerdas untuk melakukannya
Thorbjørn Ravn Andersen
2
Saya mungkin salah, tetapi com terdengar tidak perlu pada saat ini jika semua orang akan menggunakannya. Saya lebih suka menggunakan nama perusahaan itu sendiri. Saya lebih suka sistem penamaan yang mereka miliki untuk sistem pengemasan lain seperti npm dan komposer. Mereka menggunakan 'username / packageName' atau yang serupa. Jadi saya akan menamai paket saya di java sebagai 'username.packagename'
OzzyTheGiant
9

Biasanya comdigunakan oleh perusahaan saat menamai paket, comdiikuti dengan nama perusahaan. Misalnya Anda memiliki com.sunpaket di JVM.

The orgpaket awalan banyak digunakan oleh organisasi non-profit atau untuk kode open source, seperti apache, W3C, dll

Guillaume
sumber
Konvensi penggunaan URL .com perusahaan untuk kode internal dan .org untuk kode apa pun yang dipublikasikan adalah ide yang bagus. Itulah yang saya rangkum dari jawaban ini.
Dennis
3
Dennis, kurasa itu bukan ide yang bagus. Ini berarti bahwa melepaskan kode akan mengubah nama paket dan akan merusak perangkat lunak internal yang menggunakan nama aslinya. Selain itu, akan ada benturan namespace jika example.com dan example.org dimiliki oleh perusahaan yang berbeda dan keduanya ingin merilis kode Java.
proski
3

Lihat dokumen Oracle untuk penamaan paket

Lihat Konvensi Penamaan untuk penamaan standar kelas / antarmuka / anotasi / dll

nama paket dan sintaks standar kelas:
<domain Anda secara terbalik>. <nama proyek>. <controller / dao / service / handlers dll>. <kelas Anda>

example1: (di sini domain: - "stackoverflow.com", proyek: - "Test")
com.stackoverfllow.test.handler.TestHandler

example2: (di sini domain: - "www.google.co.in", proyek: - "Proj Saya")
in.co.google.myproj.controller.MainController

tetapi untuk domain yang dipesan seperti java. *, javax. *, sun. *, dll. Anda harus mendapatkan izin dari komunitas oracle

Dharmendrasinh Chudasama
sumber