मैं और मेरी R & D टीम एक बड़े कोडबेस को बनाए रखती है। हमने अपने व्यावसायिक तर्क को कई पैकेजों में विभाजित किया है। जिनमें से कुछ समान नाम वाले वर्ग हैं ।
जैसा कि आप अनुमान लगा सकते हैं, जब दोनों वर्गों को एक ही जावा फ़ाइल में संदर्भित किया जाता है तो नाम संघर्ष।
उदाहरण के लिए:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
इन मामलों के इलाज के लिए सबसे अच्छा अभ्यास क्या है, इस पर हमारी बहस हुई और निम्नलिखित विकल्प सामने आए:
पहला विकल्प
एक उपसर्ग जोड़ते हुए, कक्षा का नाम बदलना
ModelDevice DataDevice
दूसरा विकल्प
दोनों संदर्भित होने पर पूर्ण पैकेज + वर्ग नाम का उपयोग करना
com.myapp.model.Device com.myapp.data.Device
कोड प्रबंधन और मापनीयता के संदर्भ में अधिक सही क्या है?
वर्तमान में हम दोनों दृष्टिकोणों को मिला रहे हैं और असंगतता शुरू कर रहे हैं
java.util.Date
और java.sql.Date
- विशेष रूप से चूंकि java.sql.Date
उप java.util.Date
परतों का एक उपवर्ग है और इसलिए यह डेटा लेयर्स से बाहर निकल जाता है (और JSON को अच्छी तरह से अनुक्रमित नहीं करता है)।