2011-10-25 35 views
11

Có quy tắc chung về cách đặt tên cho không gian tên gói cho các dự án nguồn mở không có miền riêng không?Không gian tên gói Java cho các dự án không có miền riêng

Không gian tên phải là duy nhất, do đó, tên miền được chọn để quản lý điều đó, nhưng cuối cùng, điều đó không quan trọng, miễn là chúng là duy nhất.

Bây giờ, nếu tôi có một dự án mà chỉ được lưu trữ trên github, là nó okay để mất

com.github.username.projectname 

hoặc được rằng thay vì tán thành, bởi vì tôi sử dụng một tên miền mà tôi không thực sự sở hữu?

+0

Đừng nghĩ rằng đó là một vấn đề. Các dự án Apache và Codehaus dường như làm theo cách đó. –

+0

tên gói của bạn không chỉ là duy nhất mà còn là thứ bạn sở hữu. giả sử bạn có một email [email protected], bạn có thể sử dụng gói như com.email.name như thể bất kỳ xung đột nào xảy ra, bạn sẽ thắng vì bạn sở hữu email. Trong ngắn hạn tên gói của bạn nên là duy nhất và bạn sẽ có thể chứng minh rằng bạn sở hữu nó –

Trả lời

8

Có một số com.google.code và dự án với sourceforge trong tên gói, do đó, việc đặt tên không gian có nhiều tiền lệ.

+2

Nó sẽ rất buồn cười khi Google đi ra khỏi kinh doanh và tất cả những dự án di chuyển ở một nơi khác ... như Lycos .. – Perception

+5

@Perception Wouldn't thực sự phá vỡ bất cứ điều gì, mặc dù. Không giống như, nói, di chuyển tất cả các trang web Sun để Oracle và làm cho thông số kỹ thuật và bài viết diễn đàn thực tế không thể tìm thấy. –

3

Không sao. Nói chung, chỉ cần chọn một cái gì đó "có khả năng" là duy nhất và dự án cụ thể.

Các gói thường chỉ va chạm khi chúng là thư viện được thiết kế để tiêu thụ; nếu các gói chỉ được sử dụng bên trong dự án, thì nó ít quan trọng hơn nhiều.

+0

Sự lo lắng là nhiều hơn về việc sử dụng tên miền của người khác thay vì đặt tên va chạm, tôi tin. –

+1

@G_H Do đó câu đầu tiên của câu trả lời. –

8

Trong ví dụ com.github của bạn không có mối quan hệ trực tiếp với mã của bạn. Trường hợp mã này được lưu trữ (aka. Được lưu trữ) không quan trọng và có thể thay đổi trong tương lai. Vì vậy, tôi đề xuất một tên cụ thể hoàn toàn dự án như

org.projectname 

hoặc thậm chí

projectname 

từ một tên gói không cần phải là một tên miền.

Ồ, nhân tiện: Bạn sẽ thấy ưu tiên cho gần như tất cả và mọi thứ liên quan đến quy ước đặt tên - không chỉ cho tên gói Java. Nhưng mạnh mẽ nói: Trong lịch sử, bạn có thể tìm thấy ưu tiên cho tất cả các loại giết người cũng có. Điều đó bằng cách nào đó làm cho nó có thể chấp nhận được chỉ bởi vì ai đó đã làm điều đó trước đây? Tôi không nghĩ vậy.

+0

Tôi có lẽ sẽ tránh org.projectname; tiền đề của câu hỏi hỏi về "không có tên miền riêng". Vì "projectname.org" không thuộc sở hữu của dự án, điều đó có vẻ khá gây hiểu lầm và có thể kết thúc là một chiến trường pháp lý khó chịu, hoặc một nguồn có thể gây nhầm lẫn. – user314104

+0

giả sử ai đó sở hữu tên miền projectname.org, anh ta có thể chiến đấu với bạn một cách hợp pháp –

Các vấn đề liên quan