Tôi và nhóm R & D của tôi duy trì một cơ sở mã lớn. Chúng tôi đã chia logic kinh doanh của chúng tôi thành nhiều gói. một số trong đó có các lớp với tên giống hệt nhau .
Như bạn có thể đoán, các tên xung đột khi cả hai lớp được tham chiếu trong cùng một tệp Java.
Ví dụ:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
Chúng tôi đã có một cuộc tranh luận về những gì thực hành tốt nhất để điều trị những trường hợp này và các lựa chọn sau đây đã đưa ra:
Lựa chọn thứ 1
Đổi tên lớp, thêm tiền tố
ModelDevice DataDevice
Lựa chọn thứ 2
Sử dụng gói đầy đủ + tên lớp khi cả hai được tham chiếu
com.myapp.model.Device com.myapp.data.Device
Điều gì chính xác hơn về mặt quản lý mã và khả năng mở rộng?
chúng tôi hiện đang trộn lẫn cả hai cách tiếp cận và bắt đầu có sự không nhất quán
java.util.Date
và java.sql.Date
- đặc biệt là vì java.sql.Date
là một lớp con java.util.Date
và rất độc đáo trong các lớp dữ liệu (và không tuần tự hóa độc đáo với JSON).