แพ็คเกจ Java com และ org


คำตอบ:


113

ตามที่Sunระบุว่าแพ็คเกจควรเป็นเนมสเปซตามการผกผันของชื่อโดเมนของคุณแล้วตามด้วยสิ่งที่คุณเห็นว่าเหมาะสม บริษัท ส่วนใหญ่หรือองค์กรที่มี.comหรือ.orgชื่อโดเมนและด้วยเหตุนี้แพคเกจส่วนใหญ่เริ่มต้นด้วยหรือcom. org.อ้างจากอนุสัญญา Sun Code :

คำนำหน้าของชื่อแพ็กเกจที่ไม่ซ้ำกันจะเขียนด้วยตัวอักษร ASCII ตัวพิมพ์เล็กทั้งหมดและควรเป็นชื่อโดเมนระดับบนสุดซึ่งปัจจุบันคือ com, edu, gov, mil, net, org หรือรหัสสองตัวอักษรภาษาอังกฤษตัวใดตัวหนึ่ง ระบุประเทศตามที่ระบุไว้ในมาตรฐาน ISO 3166, 1981

ส่วนประกอบต่อมาของชื่อแพ็กเกจจะแตกต่างกันไปตามหลักการตั้งชื่อภายในขององค์กร ข้อตกลงดังกล่าวอาจระบุว่าส่วนประกอบชื่อไดเร็กทอรีบางส่วน ได้แก่ แผนกแผนกโครงการเครื่องจักรหรือชื่อล็อกอิน

และตัวอย่างที่ให้ไว้ทำให้ชัดเจนว่าคุณตั้งใจจะใช้ชื่อ DNS ของ บริษัท :

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

นอกจากนี้คุณยังจะได้เห็นedu.และจัดnet.แพ็คเกจในป่าด้วยเช่นกันแม้ว่าจะพบได้น้อยกว่าก็ตาม


3
จะเกิดอะไรขึ้นถ้า บริษัท เปลี่ยนโดเมน?
Leonardo Raele

4
@LeonardoRaele โดยปกติแล้วในกรณีนี้คุณจะเข้าสู่โลกแห่งความเจ็บปวด ;-) ที่จริงจังกว่านั้นคือมีสองตัวเลือกเปลี่ยนชื่อคลาสทั้งหมดซึ่งสามารถทำงานได้หากรหัสเป็นแบบภายในหรือปล่อยให้เป็นชื่อเก่าเนื่องจากอาจเป็นไปได้ ยังคงเป็นเอกลักษณ์
Paul Wagland

2
หลักการตั้งชื่อที่ดีที่สุดคืออะไรเมื่อคุณไม่ได้เป็นส่วนหนึ่งขององค์กรหรือไม่มีเว็บไซต์ ฉันเคยเห็นme.usernameคำแนะนำมาก่อน แต่ไม่แน่ใจว่าดีที่สุดหรือเป็นมาตรฐานเดียว
Aaron Franke

2
@AaronFranke ฉันเคยเห็นคนใช้ชื่อผู้ใช้ GitHub เป็นโดเมนของพวกเขาตัวอย่างเช่น com.guthub.pwagland.xxx จุดประสงค์หลักคือการได้รับชื่อที่ไม่ซ้ำกันเพื่อที่คุณจะได้ไม่ต้องเปลี่ยนชื่อผู้ใช้และมัน จะไม่ขัดแย้งกับชื่อที่คนอื่นเลือก
Paul Wagland

1
จะเกิดอะไรขึ้นถ้า บริษัท ของคุณมี 2 โดเมนคือ wordpress.com และ wordpress.org
Janac Meena

48

คุณยังสามารถดูชื่อแพ็กเกจเป็นชื่อโดเมนอินเทอร์เน็ตที่กลับรายการได้ (ซึ่งมักจะเป็นจริงในโลกแห่งความเป็นจริงดูตัวอย่างorg.apache.commonsที่สัมพันธ์กับhttp://commons.apache.org ) com(พาณิชย์)และorg(องค์กร)อยู่ที่นี่แล้วจริงโดเมนระดับบนสุดชื่อ

โดยทั่วไปชื่อแพ็กเกจมีไว้เพื่อระบุตัวผู้ผลิต / ผู้ขายรหัสที่คุณกำลังเผชิญอยู่


16
และเพื่อให้แน่ใจว่าชื่อแพ็กเกจไม่ซ้ำใคร ฉันคิดว่ามันเป็นวิธีที่ชาญฉลาดที่จะทำ
Thorbjørn Ravn Andersen

2
ฉันอาจจะผิด แต่ com ฟังดูไม่จำเป็นในตอนนี้ถ้าทุกคนจะใช้มัน ฉันควรใช้ชื่อ บริษัท ด้วยตัวเอง ฉันชอบระบบการตั้งชื่อที่มีสำหรับระบบบรรจุภัณฑ์อื่น ๆ เช่น npm และ composer พวกเขาใช้ 'username / packageName' หรืออะไรที่คล้ายกัน ดังนั้นฉันจะตั้งชื่อแพ็คเกจของฉันใน java ว่า 'username.packagename'
OzzyTheGiant

9

โดยปกติcomจะใช้โดย บริษัท ต่างๆในการตั้งชื่อแพ็คเกจcomตามด้วยชื่อ บริษัท ตัวอย่างเช่นคุณมีcom.sunแพ็คเกจใน JVM

orgคำนำหน้าแพคเกจส่วนใหญ่จะใช้โดยองค์กรไม่แสวงหาผลกำไรหรือรหัสที่มาเปิดเช่น Apache, W3C ฯลฯ


หลักการใช้ URL. com ของ comapany สำหรับโค้ดภายในและ. org สำหรับโค้ดใด ๆ ที่เผยแพร่สู่สาธารณะเป็นความคิดที่ดี นั่นคือสิ่งที่ฉันสรุปจากคำตอบนี้
Dennis

3
เดนนิสฉันไม่คิดว่ามันจะเป็นความคิดที่ดี หมายความว่าการปล่อยรหัสจะเปลี่ยนชื่อแพ็กเกจและจะทำลายซอฟต์แวร์ภายในที่ใช้ชื่อดั้งเดิม นอกจากนี้อาจเกิดการชนกันของเนมสเปซหาก example.com และ example.org เป็นของ บริษัท ต่างกันและทั้งคู่ต้องการปล่อยโค้ด Java
proski

3

ดูOracle docสำหรับการตั้งชื่อแพ็กเกจ

โปรดดูที่การตั้งชื่อ Conventionsสำหรับการตั้งชื่อมาตรฐานคลาส / interface / annotations / etc

ชื่อแพ็กเกจและไวยากรณ์มาตรฐานคลาส:
<your domain in reverse>. <project name>. <controller / dao / service / handlers etc>. <your class>

example1: (ที่นี่โดเมน: - "stackoverflow.com", โครงการ: - "ทดสอบ")
com.stackoverfllow.test.handler.TestHandler

example2: (ที่นี่โดเมน: - "www.google.co.in", โครงการ: - "My Proj")
in.co.google.myproj.controller.MainController

แต่สำหรับโดเมนที่สงวนไว้เช่น java *, javax. *, sun. * ฯลฯ คุณควรได้รับอนุญาตจากชุมชน oracle

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.