मैं एक जावा developper हूँ लेकिन मुझे लगता है कि मैं यहाँ भी जवाब कर सकते हैं ...
मेरे लिए यह एक अच्छा विचार नहीं है। डैनियल ईरविकियर की तरह कहा कि आप कक्षाओं के लिए भी ऐसा ही कर सकते हैं ... आप अपने पूरे एप्लिकेशन को एक ही फाइल में कई आंतरिक कक्षाओं के साथ संभाल सकते हैं (मुझे लगता है कि जावा में सी # में आंतरिक कक्षाएं हो सकती हैं ...), लेकिन आप ' टी वैसे भी यह कर ...
और एक enum कुछ समय एक अधिक जटिल संरचना हो सकता है, यह गुण हो सकता है ...
एक (बहुत) जावा में सरल उदाहरण:
public enum JobPriority {
HIGH(5),
MEDIUM_HIGH(4),
MEDIUM(3),
MEDIUM_LOW(2),
LOW(1)
;
private int level;
JobPriority(int level) {
this.level = level;
}
public int getLevel() {
return level;
}
}
मैं एक बहुत बड़ी फ्रेंच वेबसाइट पर काम करें और हमारे पास enum संरचनाएं उससे कहीं अधिक जटिल हैं ... अगर हमारे पास एक ही फाइल में हमारे सभी enums थे तो यह फ़ाइल सैकड़ों लाइनें बनायेगी ...
तो यदि आपका आवेदन छोटा है और enum संरचना जटिल नहीं है, तो आप सभी को एक फ़ाइल में डाल सकते हैं।
लेकिन आप एक एनम नेमस्पेस (जावा में पैकेज) पर एकल फाइलों में जटिल enums डाल देंगे, और अपने आवेदन के प्रत्येक कार्यात्मक भाग के लिए आवश्यक होने पर एक enum नेमस्पेस बनाना होगा। सरल enums के लिए, किसी दिए गए नेमस्पेस के लिए एक सामान्य enum फ़ाइल में क्यों नहीं जोड़ना (आप एकाधिक आम enums फ़ाइलों हो सकता है)। डुनो अगर यह एक अच्छा अभ्यास है।
क्या यह वास्तव में आपके लिए कई enum फाइलों के लिए महत्वपूर्ण है? यदि आपको एक एनम खोजने की ज़रूरत है, तो आपका आईडीई शायद आपको आसानी से enums नहीं ढूंढने के लिए तेजी से कक्षा खोज प्रदान करता है? आप अपने सभी enums को xxxEnum.cs से अलग करने के लिए भी प्रत्यय कर सकते हैं (और उन्हें कक्षा के नाम * Enum द्वारा सभी को तेज़ी से भी ढूंढें)।
जावा वेबपैप में मैं (~ 2 मिलियन लाइन कोड, सैकड़ों enums) पर काम कर रहा हूं, हम आसानी से हमारे ग्रहण आईडीई में ctrl + shift + r + * Enum जैसे शॉर्टकट के साथ enums पा सकते हैं। यह सामान्य enum फाइलों की तुलना में बहुत तेज़ है :)
मैं हमेशा अपने enums को एक ही स्थान पर रखता हूं, या जब मैं बाहर जाने के लिए तैयार हूं तो मैं उन्हें नहीं ढूंढ सकता। वे सभी सामने के दरवाजे से एक कटोरे में हैं। –
बहुत मजेदार टीजे –
बहुत सारे अच्छे उत्तर, सभी को धन्यवाद ... हालांकि ऐसा लगता है कि इसका एक बड़ा हिस्सा निजी वरीयता के लिए उबाल जाता है, मुझे लगता है कि दयालु तरीके से व्यवस्था नहीं कर रहा है लेकिन मॉड्यूलरिटी द्वारा बहुत समझदारी होती है और रास्ते में है ढांचा ही व्यवस्थित है। यह चोट नहीं पहुंचाता है कि यह कैवलिना के मौलिक "फ्रेमवर्क डिजाइन दिशानिर्देशों" से कुछ की तरह लगता है और इसे सबसे अधिक वोट मिल गए हैं, इसलिए मैं इसे उत्तर के रूप में चिह्नित करूंगा ... –