सभी कॉन्स्टेंट को एक ही फाइल में रखना एक भयानक विचार है! विशेष रूप से उबर-कॉन्स्टेंट एंटी-पैटर्न जहां सभी कॉन्स्टेंट Interface
में हैं कि प्रत्येक वर्ग में implement
है। रविवार को भयानक 10 तरीके! यह एक बुरा विचार था जब लोगों ने जावा के पहले 1 99 0 के शुरू में इसे वापस करना शुरू किया था! 2012 में यह निश्चित रूप से एक बुरा विचार है!
इसका मतलब है कि आप कई गैर-संबंधित जानकारी को जोड़ रहे हैं और जब भी आप इस उबर-कॉन्स्टेंट फ़ाइल आयात करते हैं तो अनिवार्य निर्भरताएं बनाते हैं। जो चीजें एक साथ जाती हैं उन्हें Enum
या कम से कम Class
में एक साथ होना चाहिए जो उन्हें अपने तरीकों के लिए तर्क के रूप में उपयोग करता है ताकि जब वे बदल जाए तो आप आसानी से प्रभाव विश्लेषण कैसे करें।
कल्पना करें Color
DaysOfTheWeek
स्थिरांक के साथ मिश्रित स्थिरांक अन्य व्यावसायिक डोमेन स्थिरांक के साथ मिश्रित हैं और सैकड़ों होंगे यदि इन फ़ाइलों में से एक हजार में नहीं। इसे कभी भी एक अच्छा विचार कैसे माना जा सकता है?प्रत्येक गैर-संक्रमित मामले में, Enum
Class
का सदस्य एक बेहतर समाधान है।
इसका मतलब यह भी है कि आपके पास संघर्ष करने वाले नामों को बनाने और बनाने के लिए एक एकल फ्लैट नामस्थान है, तो वे स्पष्ट नहीं हैं कि वे किस प्रकार हैं और उनका उपयोग कैसे किया जाना चाहिए। यह कभी भी एक सकारात्मक अभ्यास नहीं है।
जब डिजाइन और पुनर्रचना आप हमेशा यह करे:
उच्च सामंजस्य के लिए प्रयास करते हैं, इसका मतलब संभव के रूप में एक साथ करीब के रूप में संबंधित चीजें रखने के लिए।
ढीले युग्मन के लिए प्रयास करें इसका मतलब है कि गैर-संबंधित चीजें अन्य गैर-संबंधित क्षेत्रों में रिसाव न करें।
स्व-दस्तावेज रखने योग्य कोड, दर्जनों या सैकड़ों private static final String/int
घोषणाओं के साथ प्रयास करें जो सभी मिश्रित घोषणाएं किसी के मानक द्वारा इस परिभाषा को फिट नहीं करती हैं!
2012 में सी-स्टाइल स्थिरांक एक खराब समाधान हैं जब आपके पास अब एक उपकरण के रूप में Enum
है, तो आपको जहां भी संभव हो,पर कॉन्स्टेंट के इन समूहों में से कई को परिवर्तित करने पर ध्यान केंद्रित किया जाना चाहिए। Enum
टाइप सुरक्षित है और intelligent
बनाने के लिए उससे जुड़े अन्य गुण और गुण और व्यवहार हो सकते हैं। वह नीचे जाने का रास्ता है।
स्रोत
2012-02-28 16:15:12
एक एकल 'कॉन्स्टेंट' वर्ग एक एंटीपाटर की तरह लगता है।स्थिरांक के अर्थ के आधार पर उन्हें विभाजित करें, या उचित जगहों पर उन्हें बदलें। – millimoose
एक प्रोफाइलैक्टिक के रूप में, अपने डेवलपर्स को इलेक्ट्रोड हुक करें जो उन्हें किसी भी समय फ़ाइल को सहेजने के लिए वोल्टेज के LOC * 0.01V जैसे कुछ के साथ झटका देगा। – millimoose
आप किस विशिष्ट समस्या को हल करने की कोशिश कर रहे हैं? बस तथ्य यह है कि फाइलें बहुत बड़ी हैं? यदि ऐसा है, तो सबकुछ रिफैक्टर करने की लागत इसके लायक नहीं होगी। –