Tôi đã quen với quy ước đặt tên gói Java tiêu chuẩn là sử dụng một tên miền để tạo một tên gói duy nhất (nghĩa là gói com.stackoverflow.widgets
). Tuy nhiên, tôi chưa bao giờ thấy bất kỳ đề xuất nào về cách chọn tên gói cho các dự án cá nhân. Tôi giả sử bởi vì điều này là bởi vì đây thực sự là một vấn đề của sở thích cá nhân.
Vì vậy, làm thế nào để bạn chọn tên gói cho các dự án cá nhân sẽ không bao giờ được đưa vào sản xuất (bạn có thể đang thử nghiệm một khung mới trong thời gian rảnh). Giả sử bạn không có một trang web cá nhân có tên miền bạn có thể sử dụng để tạo cấu trúc gói của mình, bạn sẽ làm gì (hoặc sẽ)? Bạn có sẵn một hệ thống logic để tạo tên gói mới cho các dự án sở thích hay bạn chỉ sử dụng các tên gói đơn giản như thế mypackage
nào?
Vì tôi chỉ tò mò muốn xem suy nghĩ của mọi người về vấn đề này là gì, tôi đã biến đây thành một wiki cộng đồng.
Đối với cá nhân tôi, tôi chưa bao giờ suy nghĩ nhiều, nhưng tôi muốn chơi xung quanh với Wicket tối nay và tôi nhận ra rằng tôi không có ý tưởng rõ ràng về cách tôi muốn tổ chức các dự án sở thích của mình. Một quy ước đặt tên gói riêng biệt, riêng biệt cho các dự án sở thích (ít nhất là trong suy nghĩ của tôi) sẽ là một cách tốt để giữ cho các mã cá nhân và liên quan đến công việc tách biệt rõ ràng với nhau.
Tôi đã nghĩ đến một quy ước đặt tên phân cấp đơn giản, để giữ nguồn cho các dự án cá nhân của tôi trong một thư mục gốc duy nhất:
- Sử dụng
myprojects
làm thư mục gốc - Nối tên dự án
- Thêm bất kỳ tên gói phụ bổ sung
Vì vậy, dự án Wicket của tôi sẽ nằm trong gói myprojects.learningwicket
và các bài kiểm tra đơn vị sẽ nằm trong gói myprojects.learningwicket.tests
(ví dụ).
onion.duskgytldkxiuqc6.packagename
). Miễn là khóa riêng vẫn còn bí mật, bạn sẽ kiểm soát tên miền. Vì vậy, nó miễn phí để đăng ký (tạo) và nó là vĩnh viễn (không giống như các tên miền thông thường). Nó phù hợp với chữ cái của quy ước Java và nó xác định bạn là duy nhất.