मैंने यहाँ (नंबर 21) से स्मर्फ नामकरण शब्द निकाला । किसी को भी परिचित नहीं मुसीबत बचाने के लिए, Smurf नामकरण एक आम उपसर्ग के साथ संबंधित वर्गों, चर, आदि का एक समूह लगाकर का कार्य तो आप के साथ "एक अंत है SmurfAccountViewएक गुजरता है SmurfAccountDTOकरने के लिए SmurfAccountController", आदि
मैंने आम तौर पर इसका जो समाधान सुना है, वह स्मर्फ नेमस्पेस बनाने और स्मर्फ प्रीफिक्स को छोड़ने का है। यह आम तौर पर मुझे अच्छी तरह से परोसा गया है, लेकिन मैं दो समस्याओं में भाग रहा हूं।
मैं लाइब्रेरी के साथ
Configurationक्लास के साथ काम कर रहा हूं । इसे बुलाया जा सकता था,WartmongerConfigurationलेकिन यह वार्टमॉन्गर नेमस्पेस में है, इसलिए इसे अभी-अभी बुलाया गया हैConfiguration। इसी तरह मेरे पास एकConfigurationवर्ग है जिसे बुलाया जा सकता हैSmurfConfiguration, लेकिन यह स्मर्फ नाम स्थान में है ताकि यह निरर्थक होगा। मेरे कोड में कुछ ऐसे स्थान हैं जहाँ पूरी तरह से योग्य नामों केSmurf.Configurationसाथ-साथWartmonger.Configurationटाइप करना नामुमकिन है और कोड को कम पठनीय बनाता है। यह एक से निपटने के लिए अच्छा होगाSmurfConfiguration(यदि यह मेरा कोड था और पुस्तकालय नहीं था)WartmongerConfiguration।मेरे पास
Serviceमेरे Smurf नाम स्थान में एक वर्ग है जिसे बुलाया जा सकता थाSmurfService। एक जटिल Smurf पुस्तकालय के शीर्ष परServiceएक मुखौटा है जो Smurf नौकरियां चलाता है।SmurfServiceएक बेहतर नाम की तरह लगता है क्योंकिServiceस्मर्फ के बिना उपसर्ग इतना अविश्वसनीय रूप से सामान्य है। मैं स्वीकार कर सकता हूं किSmurfServiceपहले से ही एक सामान्य, बेकार नाम था और महक को दूर ले जाने से यह और अधिक स्पष्ट हो गया। लेकिन यह नाम दिया जा सकता था किया गया हैRunner,Launcher, आदि और यह अभी भी रूप में मेरे लिए "बेहतर महसूस" होगाSmurfLauncherक्योंकि मैं नहीं जानता कि क्या एकLauncherकरता है, लेकिन मुझे पता है कि एकSmurfLauncherहै। आप यह तर्क दे सकते हैं कि क्याSmurf.Launcherहोना चाहिए एक के रूप में ही स्पष्ट होना चाहिएSmurf.SmurfLauncher, लेकिन मैं देख सकता हूँ `Smurf.Launcher किसी वर्ग के बजाय सेटअप से संबंधित किसी प्रकार का वर्ग है जो स्मर्फ्स लॉन्च करता है।
अगर इन दोनों से निपटने के लिए एक खुला और बंद रास्ता है जो बहुत अच्छा होगा। यदि नहीं, तो उनकी झुंझलाहट को कम करने के लिए कुछ सामान्य अभ्यास क्या हैं?
SmurfJobएस लॉन्च करता है , या तकनीकी रूप से उन्हें स्मर्फ प्रलेखन की भाषा के अनुरूप होने के लिए चलाता है। इस बात का प्रकाश और अन्य उत्तर में, मैं नाम बदलने के लिए जा रहा हूँ SmurfServiceकरने के लिए SmurfJobRunner। ऐसा लगता है कि नंबर 1 में कोई भाषा अज्ञेय नहीं है, जैसा कि मुझे उम्मीद है। मैं ऐसे उदाहरण देख सकता हूं जहां साथ SmurfConfigurationजाना सही कॉल होगा, लेकिन मेरे मामले में मुझे लगता Configurationहै कि परेशानी के साथ भी सबसे अच्छा है Wartmonger.Configuration।
Smurf.Configurationऔर कैसे SmurfConfigurationमहसूस करते हैं? निश्चित रूप से यह अतिरिक्त आकर्षण नहीं है, क्या यह है? ( Configअगर लंबाई की समस्या है तो कम करें।) क्या Smurf.Configurationकोई समस्या SmurfConfigurationनहीं है?
Smurf.Launcherस्मर्फ लॉन्च करता है , या यह लॉन्च करता हैSmurfJob? शायद इसे कहा जा सकता हैSmurf.JobLauncher?