मैंने यहाँ (नंबर 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
?