Saya dan tim R&D saya memelihara basis kode yang besar. Kami telah membagi logika bisnis kami menjadi beberapa paket. beberapa di antaranya memiliki kelas dengan nama yang identik .
Seperti yang bisa Anda tebak, nama konflik ketika kedua kelas direferensikan dalam file Java yang sama.
Sebagai contoh:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
Kami berdebat tentang apa praktik terbaik untuk menangani kasus-kasus ini dan opsi berikut muncul:
Opsi 1
Mengganti nama kelas, menambahkan awalan
ModelDevice DataDevice
Opsi 2
Menggunakan paket lengkap + nama kelas saat keduanya direferensikan
com.myapp.model.Device com.myapp.data.Device
Apa yang lebih benar dalam hal manajemen kode dan skalabilitas?
saat ini kami sedang menggabungkan kedua pendekatan dan mulai memiliki ketidakkonsistenan
java.util.Date
dan java.sql.Date
- terutama karena java.sql.Date
merupakan subkelas dari java.util.Date
dan begitu baik menyelinap keluar dari lapisan data (dan tidak bersambung dengan baik ke JSON).