2010-10-06 12 views
5

मैं अपनी परियोजना के लिए एक उपयोगकर्ता कक्षा बनाने जा रहा हूं। इस तरह के एक सामान्य नामित वर्ग बनाने के लिए क्या बुरा व्यवहार है या नहीं? मैं इसे अपने प्रोजेक्ट के लिए एक उपसर्ग के साथ पूरक कर सकता हूं।जावा "उपयोगकर्ता" वर्ग नामांकन सर्वोत्तम अभ्यास?

+1

क्या वह प्रोजेक्ट अन्य परियोजनाओं (और उपयोगकर्ता सार्वजनिक कक्षा होने वाला) द्वारा लाइब्रेरी के रूप में उपयोग किया जाना है? – Thilo

+0

सं। मालिकाना वेब प्रोजेक्ट। मैं उपयोगकर्ता को उपयोगकर्ता के रूप में रखने में वास्तव में बहुत सहज हूं, लेकिन हमारे पास सत्र की एक और डोमेन अवधारणा भी है। अभी तक इसे प्राप्त नहीं किया है, लेकिन उस पर नामकरण मुझे पहले से ही दिल की धड़कन दे रहा है। – Steve

उत्तर

3

यह packages है।

+2

ठीक है आप "उपयोगकर्ता" कक्षा वाले दो पैकेज आयात कर सकते हैं। इससे शायद कुछ सिरदर्द हो जाएंगे। – rkg

+0

@ रवि, लेकिन अगर यह एक मुद्दा होना था, तो आप कक्षाओं को उनके पूर्ण योग्य नामों से संदर्भित कर सकते हैं। –

+2

@ माइकल: यह सच है, लेकिन मुझे लगता है कि यह कोड की पठनीयता को नुकसान पहुंचाता है। – rkg

1

सामान्य नामों का उपयोग करना एक बुरा अभ्यास नहीं है, जब तक कि आप वर्ग की कार्यक्षमता के रूप में नाम का वर्णन न करें। उचित पैकेज बनाने के लिए ध्यान रखें जो आपकी कक्षा को अधिक विशेष रूप से परिभाषित कर सकते हैं।

2

मैं आपको सलाह देता हूं कि आप निश्चित रूप से अपने उपयोगकर्ता वर्ग में एक एप्लिकेशन विशिष्ट शब्द का उपसर्ग करें। "उपयोगकर्ता" रास्ता बहुत आम और अस्पष्ट है। आप एपीआई का उपयोग करके आसानी से समाप्त हो सकते हैं जिसमें "उपयोगकर्ता" कक्षा या इंटरफ़ेस है। हालांकि नवीनतम आईडीई आपके कोड को पुन: सक्रिय करने के लिए अपेक्षाकृत आसान बनाते हैं, लेकिन यदि आपके पास ऐप विशिष्ट "उपयोगकर्ता" श्रेणी है तो यह क्लीनर और आसान होगा।

+0

मैं आपसे सहमत हूं। जब आपके पास एक ही नाम के साथ कई कक्षाएं होती हैं तो यह गड़बड़ हो जाती है। –

0

आपको नाम संघर्ष से बचने के लिए जावा package एस का उपयोग करना चाहिए। एक सामान्य नाम का उपयोग करने में कुछ भी गलत नहीं है, बस इसे अपने पैकेज में रखना सुनिश्चित करें।

package com.yourwebsite.yourproject.userdata; 

जब आप इसे आयात करते हैं, आप का प्रयोग करेंगे::

import com.yourwebsite.yourproject.userdata.User; 

com/ 
    yourwebsite/ 
     yourproject/ 
      userdata/ 
       User.java 

फिर आप फ़ाइल "User.java" के साथ शुरू: उदाहरण के लिए, आप निम्नलिखित संरचना हो सकता था

+1

मैं अब भी सुझाव दूंगा कि लोग अपने वर्ग "स्ट्रिंग" या "सूची" या "संग्रह" या "अपवाद" या "कनेक्शन" या "सत्र" का नाम नहीं देते हैं। मैं "उपयोगकर्ता" के साथ ठीक हूं, अगर केवल इसलिए कि इसका इस्तेमाल आमतौर पर कहीं और नहीं किया जाता है (मेरे वर्तमान कार्यक्षेत्र में, जिसमें कई पुस्तकालय हैं, "com.sun.tools.internals ..." में केवल एक है और एक "संगठन .hsqldb ", जिनमें से कोई भी आप का उपयोग करने की संभावना है)। – Thilo

+0

@ थिलो, हाँ, मैं निश्चित रूप से ऐसे नामों का उपयोग नहीं करता जो पहले से ही किसी भी "जावा। *" या "जावाक्स * * पैकेज में उपयोग में हैं, लेकिन इस लेखन के रूप में जावा एपीआई में कोई उपयोगकर्ता वर्ग नहीं है। –

1

मैं हमेशा स्पष्टता के लिए उपयोगकर्ता जैसे सामान्य नामों का उपयोग करने का प्रयास करता हूं। बस सुनिश्चित करें कि समस्या डोमेन और मौजूदा प्रोजेक्ट शब्दावली से नाम खींचे गए हैं। अस्पष्टताओं के लिए सतर्क रहें, और यदि कोई उठता है, तो कक्षा का नाम बदलें। स्वचालित रीफैक्टरिंग समर्थन के साथ आधुनिक आईडीई इसे आसान बनाता है।

+0

हां। उपयुक्त पैकेज में सही वर्ग का नाम सही बात होगी। IntelliJ जैसे आईडीई क्लास नामों को खोजने और आयात करने के लिए बहुत अच्छा समर्थन - यह स्वचालित भी हो सकता है। – Jayan

0

इस नाम का उपयोग किसी भी सार्वजनिक एपीआई द्वारा किया जाने की संभावना नहीं है, इसलिए ऐप का उपयोग करने के लिए यह ठीक है।

संबंधित मुद्दे