คุณใช้แบบแผนการตั้งชื่อแพคเกจใดสำหรับโครงการส่วนตัว / งานอดิเรกใน Java


143

ฉันคุ้นเคยกับการตั้งชื่อแพ็คเกจ Java มาตรฐานของการใช้ชื่อโดเมนเพื่อสร้างชื่อแพ็คเกจที่ไม่ซ้ำกัน (เช่นแพ็คเกจ com.stackoverflow.widgets ) อย่างไรก็ตามฉันไม่เคยเห็นคำแนะนำเกี่ยวกับวิธีเลือกชื่อแพ็คเกจสำหรับโครงการส่วนบุคคล ฉันคิดว่าเป็นเพราะนี่เป็นเรื่องของรสนิยมส่วนตัวจริงๆ

ดังนั้นคุณจะเลือกชื่อแพคเกจสำหรับโครงการส่วนบุคคลที่จะไม่ทำให้เป็นเรื่องการผลิตได้อย่างไร (คุณอาจทดลองใช้เฟรมเวิร์กใหม่ในเวลาว่าง) สมมติว่าคุณไม่มีเว็บไซต์ส่วนตัวที่มีโดเมนที่คุณสามารถใช้เพื่อสร้างโครงสร้างแพ็คเกจของคุณคุณจะทำอะไร (หรือจะ) คุณมีระบบลอจิคัลในการสร้างชื่อแพ็กเกจใหม่สำหรับโครงการงานอดิเรกหรือคุณเพียงแค่ใช้ชื่อแพคเกจที่ใช้งานง่ายเช่นmypackage ?

เนื่องจากฉันแค่อยากรู้ว่าความคิดของผู้คนต่างกันอย่างไรฉันจึงทำให้นี่เป็นวิกิชุมชน

สำหรับฉันเป็นการส่วนตัวฉันไม่เคยคิดมาก แต่ฉันอยากจะเล่นกับWicketคืนนี้และมันเกิดขึ้นกับฉันว่าฉันไม่มีความคิดที่ชัดเจนว่าฉันต้องการจัดระเบียบโครงการงานอดิเรกของฉันอย่างไร การกำหนดชื่อแพคเกจที่แยกต่างหากและแตกต่างกันสำหรับโครงการงานอดิเรก (อย่างน้อยก็ในใจของฉัน) จะทำหน้าที่เป็นวิธีที่ดีในการเก็บรหัสส่วนตัวและที่เกี่ยวข้องกับงานไว้อย่างชัดเจน

ฉันกำลังคิดถึงแผนการตั้งชื่อแบบลำดับชั้นที่เรียบง่ายเพื่อเก็บซอร์สสำหรับโปรเจ็กต์ส่วนตัวของฉันไว้ในโฟลเดอร์รูทเดียว:

  • ใช้myprojectsเป็นโฟลเดอร์รูท
  • ผนวกชื่อโครงการ
  • เพิ่มชื่อแพ็คเกจย่อยเพิ่มเติม

ดังนั้นโครงการประตูของฉันจะอยู่ในแพ็คเกจmyprojects.learningwicketและการทดสอบหน่วยจะอยู่ในแพ็คเกจmyprojects.learningwicket.tests(ตัวอย่าง)


1
ทั่วไปรับโดเมนส่วนบุคคล (ชื่อ - ชื่อโดเมน) และใช้เป็นชื่อแพ็คเกจ วัตถุประสงค์ของแพ็กเกจจะไม่ซ้ำกันทั่วโลกดังนั้นโครงการของฉันไม่ได้ตัดมันจริงๆ
Vladimir Dyuzhev

5
การใช้. โดเมนไอออนก็เป็นตัวเลือก (เช่นonion.duskgytldkxiuqc6.packagename) ตราบใดที่รหัสส่วนตัวยังคงเป็นความลับคุณจะสามารถควบคุมชื่อโดเมนได้ ดังนั้นการลงทะเบียน (สร้าง) และเป็นแบบถาวร (ไม่เหมือนกับโดเมนทั่วไป) มันสอดคล้องกับตัวอักษรของการประชุมจาวาและมันจะระบุตัวคุณโดยเฉพาะ
sastanin

14
คุณสามารถสร้างบัญชี GitHub ได้ตลอดเวลาและใช้ io.github.username. *
Bardi Harborow

2
@BardiHarborow ขอบคุณฉันใช้คำแนะนำของคุณ
Nick Volynkin

3
@GabrielBB, GitHub Pagesช่วยให้คุณสามารถโฮสต์เว็บไซต์ HTML และ Jekyll ได้ที่ yourusername.github.io ดังนั้นโดเมนย่อยของ github.io จึงมี "รับประกัน" มากกว่าเพื่อให้สอดคล้องกับผู้ใช้ GitHub มากกว่าโดเมนย่อยของ github.com (ซึ่งอาจใช้สำหรับภายในภายใน โครงการ GitHub ได้ตลอดเวลา)
Bardi Harborow

คำตอบ:


49

หากคุณเพิ่งทำโครงการส่วนตัวที่ไม่มีใครใช้รหัสคุณสามารถสร้างชื่อแพ็คเกจที่คุณชอบ อย่าสร้างสิ่งที่ขึ้นต้นด้วยcom.หรือnet.หรือโดเมนระดับบนสุดอื่น ๆ เพราะนั่นอาจหมายความว่าคุณเป็นเจ้าของชื่อโดเมน (เช่นการใช้com.johnเป็นชื่อแพ็คเกจของคุณเพียงเพราะชื่อของคุณเป็นจอห์นไม่ใช่ความคิดที่ดี) .

หากคุณจะให้รหัสแก่บุคคลอื่นคุณควรใช้ชื่อแพ็คเกจที่ไม่ซ้ำกันทั่วโลกซึ่งตามข้อกำหนดของ Java หมายความว่าคุณควรลงทะเบียนและใช้ชื่อโดเมน


1
ดังนั้นหากฉันต้องการที่อยู่ชื่อแพคเกจเช่นเดียวcom.xyzกับชื่อแพคเกจนี้ควรลงทะเบียนที่ไหนสักแห่ง ?? PS xyzเป็นลูกค้าของฉัน
Prasad

9
ฉันสงสัยว่าฉันสามารถใช้รหัส github ของฉันสำหรับโดเมนนั้นและโดเมน github ได้หรือไม่ เช่นcom.github.mygithubid.myproject?
คิริลล์จี

2
@KirillG ฉันอยากจะแนะนำต่อเนื่องจาก GitHub ID สามารถเปลี่ยนแปลงได้ตลอดเวลาจำนวนครั้งใด ๆ ได้รับโดเมนใด ๆ สามารถเปลี่ยนได้ แต่ไม่ง่ายหรือบ่อยครั้ง (ไม่ใช่ตามปกติ) แม้ว่าฉันเดาว่ามันโอเคสำหรับโครงการงานอดิเรก
sara

26

ฉันเพิ่งใช้ชื่อย่อของฉัน: fg.nameofproject.etc

มันลดการพิมพ์ สามารถนำหน้าได้ตลอดเวลาด้วย sf.net หรือ com หรือองค์กร หรือ com.google ..

เนื่องจากโปรเจ็กต์นี้เป็นของใช้ส่วนตัวมันพิเศษเหมือนกับเสื้อเชิ้ตของขวัญที่เพิ่งกดใหม่ของคุณ - มันจะรู้สึกดี


42
bond.james.007
คลิกโหวต

19
@ คลิกตามแนวทางที่ควรจะเป็นbond.james._007- ไม่มีแหวนเดียวกันกับมัน ... : - {
corsiKa

20
pmurray_at_bigpond_dot_com.project.package

2
+1 ฉลาด. นี่จะทำให้คุณได้รับชื่อแพคเกจที่ไม่ซ้ำใครและระบุผู้แต่งทั้งหมดในครั้งเดียว
Mike Spross

19

<sarcasm>Bah โปรแกรมเมอร์ที่เคารพตนเองจะมีชื่อโดเมนของตนเอง นี่เป็นคำถามที่หลอกลวงอย่างชัดเจน ทุกคนมีชื่อโดเมนส่วนตัวของตัวเอง!</sarcasm>:-)

ตกลงในทุกกรณีการซื้อชื่อโดเมนแบบกำหนดเองอาจเป็นตัวเลือกที่ง่ายที่สุด ประมาณ $ 10 ต่อปีคุณสามารถค้นหาผู้ให้บริการที่มีชื่อเสียงเพื่อโฮสต์โดเมนและส่งต่ออีเมล


18
น่าประหลาดใจที่สิ่งนี้จะทำให้คุณมั่นใจในตัวเองเช่นกัน
jamesh

26
คำตอบที่ดี แต่โปรแกรมเมอร์ที่เริ่มต้นอาจไม่ต้องการซื้อเว็บไซต์เพียงทำตามเว็บไซต์กวดวิชาหรือวิดีโอเกี่ยวกับวิธีสร้าง GUI ด้วยปุ่มปิด
Jochem Kuijpers

17

ฉันเก็บมากที่สุดของโครงการงานอดิเรกของฉันใน Google Code com.googlecode.donkirkby.someprojectดังนั้นฉันเพิ่งใช้เว็บไซต์โครงการเป็นชื่อแพคเกจ:


8
เราจะตาบอดได้อย่างไรที่จะไม่เห็นความโง่ของการกระทำของเรา!
Joey Sabey

1
คุณพลาด Google Code, @Joey หรือเปล่า ฉันใช้GitHubเป็นส่วนใหญ่ในช่วงหลายปีที่ผ่านมาดังนั้นฉันจึงต้องย้ายโปรเจ็กต์เก่าของฉันไปจาก Google Code ก่อนที่จะปิดตัวลง
Don Kirkby

ดังนั้นคุณเปลี่ยนชื่อแพ็คเกจเก็บชื่อ googlecode หรือ ... ?
serv-inc

1
ฉันไม่ได้ใช้รหัสเก่าใด ๆ ตั้งแต่ฉันย้ายมัน @ serv-inc ตัวเลือกทั้งสองจะทำงาน
Don Kirkby

3

ชื่อของฉันคือ anjan

ปกติฉันจะใช้ com.anjan

ฉันมี บริษัท แฟนตาซีของตัวเอง - บางครั้งฉันก็ใช้มัน

ประเพณีที่มี sourceforge (ดังที่จำศีลและแพ็คเกจอื่น ๆ ที่แสดง) คือ net.sf. *

ดังนั้นขึ้นอยู่กับอารมณ์ของคุณคุณสามารถไปกับที่


13
นอกจากว่าคุณจะเป็นเจ้าของanjan.comฉันคิดว่าคุณผิดอย่างมากในการทำเช่นนั้น
Fredrik

7
@ เฟรดริกโชคดีที่ดูเหมือนว่า anjan.com จะไม่ปล่อยห้องสมุดใด ๆ ในไม่ช้า
corsiKa

1
@corsiKa: ถูกต้องตราบใดที่ฉันไม่ปล่อยอะไรเลยฉันก็โอเค :-)
anjanb

3
@anjanb เอาละฉันไปที่เว็บไซต์ของพวกเขา พวกเขาทำอาหารสัตว์เลี้ยง ฉันไม่มีความเชี่ยวชาญ แต่ บริษัท อาหารสัตว์เลี้ยงส่วนใหญ่ไม่ปล่อย
ไลบรารี่

3

ฉันคิดว่าคุณเข้าใจแล้ว สิ่งล่อใจที่ต้องหลีกเลี่ยงที่นี่คือการไม่ใส่ใจกับชื่อแพ็คเกจเลย มันง่ายที่จะบันทึกการกดแป้นบางครั้งเพราะ "ฉันเพิ่งเขียนโค้ดทดสอบ" แต่จากนั้นโค้ดก็จะมีประโยชน์และมีขนาดใหญ่และจากนั้นคุณก็รู้ว่าคุณมีจุดเริ่มต้นที่ดีสำหรับสิ่งที่อาจเป็นห้องสมุดหรือแอพพลิเคชั่นที่มีอายุการใช้งานยาวนาน อาจไม่ใช่ห้องสมุดหรือแอปพลิเคชันที่ออกจากเครือข่ายในบ้านของคุณ แต่ประเด็นคือคุณไม่ได้คิดล่วงหน้า นั่นเป็นผีของวิทยาศาสตร์คอมพิวเตอร์ของเดนมาร์ก - คิดก่อนเสมอถ้ามีเพียงเล็กน้อย

หลักการตั้งชื่อที่ฉันใช้สำหรับรหัสงานอดิเรกของฉันนั้นเป็นเหมือนคุณมาก ฉันมีไดเรกทอรีระดับบนสุดชื่อ "futura" (เหตุผลที่น่าเบื่อยาวว่าทำไมชื่อนั้นถึง) ซึ่งรหัสทั้งหมดของฉันหยุดทำงาน ฉันลองและจัดระเบียบรหัสของฉันลงในไลบรารีแพ็กเกจแม้ว่ามันอาจเป็นคลาสหรือแพ็คเกจที่ฉันไม่เคยใช้สำหรับโครงการอื่น ฉันวางแอปพลิเคชันทั้งหมด (นั่นคืออะไรก็ตามที่มีโมฆะหลัก (String [] args) ในชั้นเรียน) ในโฟลเดอร์ futura.app. * ฉันพยายามเลียนแบบชื่อแพ็กเกจไลบรารี Java มาตรฐานสำหรับรหัสของฉันเอง แต่ในบางกรณีฉันทำผิดสัญญาเนื่องจากรสนิยมของตัวเอง (เช่น futura.inet สำหรับอินเทอร์เน็ตไม่ใช่ซ็อกเก็ตโค้ดและ futura.collections สำหรับ non -utilut.) เพื่อถอดความ David Mamet: ทำตัวให้เป็นมาตรฐานเสมอ ทำให้เป็นเรื่องปกติเสมอ!

จากการที่คุณเคยโพสต์คำถามฉันสงสัยว่าคุณเห็นด้วยกับประเด็นสุดท้ายของฉันเช่นกัน: คุณไม่จำเป็นต้องปฏิบัติต่อการแฮ็กมือสมัครเล่นเป็นโครงการระดับองค์กร แต่ถ้าคุณนำระเบียบวินัยนั้นมาสู่เกมในบ้าน งานอดิเรกคือรางวัลที่มากกว่าทั้งหมด


2

ฉันใช้ OpenID URL ของฉันจากนั้นฉันต่อท้ายชื่อโครงการ ตัวอย่างเช่นcom.myopenid.cd1.twitterเป็นแพ็คเกจรากของไคลเอนต์ Twitter ที่ฉันพัฒนาขึ้นมา


ฉันชอบสิ่งนี้ แต่แล้วฉันก็รู้ว่าไม่มีอีกต่อไป :( janrain.com/myopenid-service-ends "ตั้งแต่วันที่ 1 กุมภาพันธ์ 2014 บริการ MyOpenID ถูกปิด"
successhawk


1

ฉันแค่ใช้ชื่อของฉัน: surname.initials.xxx เนื่องจากเป็นการดีระหว่างการหลีกเลี่ยงความกระชับและความขัดแย้ง ฉันคิดว่าจะให้เนมสเปซว่างที่เหมาะสมในการชนฉันควรเลือกเผยแพร่โค้ดแบบสาธารณะ ฉันยังมีโปรแกรมเล็ก ๆ น้อย ๆ ที่ฉันเขียนซึ่งสามารถ repackage แผนผังไดเรกตอรีทั้งหมดดังนั้นฉันจึงคิดว่าฉันควรจะต้อง repackage เพื่อเผยแพร่มันค่อนข้างเจ็บปวด ... ดังนั้นฉันจึงไม่ได้นอนมากเกินไป

หลังจาก surname.initials.xxx ฉันใช้แอพพลิเคชั่นสำหรับแพคเกจแอปพลิเคชัน, lib สำหรับแพคเกจห้องสมุดและ tst สำหรับสิ่งที่ฉันกำลังทดลองอย่างหมดจด


1

คุณคิดอย่างไรกับ lastname.firstname.project ??? เช่น luz.marlon.project


16
สิ่งนี้อาจใช้ได้ผลกับคุณ แต่ John Smith และ Bob Jones อาจพบข้อขัดแย้งเมื่อพวกเขาต้องการปล่อยรหัสในสักวันหนึ่ง
Bill the Lizard

0

ฉันคิดถึงการถามคำถามเดียวกันนี้ จนถึงตอนนี้ฉันใช้คำนำหน้า com.tehvan แม้ว่าฉันจะไม่มี บริษัท จริงๆ

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