Ich und mein Forschungs- und Entwicklungsteam unterhalten eine große Codebasis. Wir haben unsere Geschäftslogik in mehrere Pakete unterteilt. Einige von ihnen haben Klassen mit identischen Namen .
Wie Sie sich vorstellen können, stehen die Namen in Konflikt, wenn beide Klassen in derselben Java-Datei referenziert werden.
Beispielsweise:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
Wir hatten eine Debatte darüber, wie diese Fälle am besten behandelt werden können, und es wurden folgende Optionen angeboten:
1. Option
Umbenennen der Klasse durch Hinzufügen eines Präfixes
ModelDevice DataDevice
2. Option
Verwenden des vollständigen Pakets + Klassennamens, wenn auf beide verwiesen wird
com.myapp.model.Device com.myapp.data.Device
Was ist in Bezug auf Codeverwaltung und Skalierbarkeit korrekter?
Wir mischen derzeit beide Ansätze und beginnen, Inkonsistenzen zu haben
java.util.Date
und java.sql.Date
- zumal java.sql.Date
es sich um eine Unterklasse von Datenebenen handelt java.util.Date
und so gut aus diesen herausrutscht (und nicht gut zu JSON serialisiert).