पहले तो
अपने आप से सवाल पूछें "इस वर्ग का एकल उद्देश्य क्या है?"। एकल जिम्मेदारी सिद्धांत का पालन किए बिना, कक्षाओं और तरीकों का नामकरण करना बहुत मुश्किल हो जाता है। यदि आप उस प्रश्न का उत्तर नहीं दे सकते हैं, तो आपको यह सोचने की आवश्यकता हो सकती है कि आप कक्षा को क्या करना चाहते हैं, और चिंताओं को अलग करने पर विचार करें। इससे नाम रखने में आसानी होगी
दूसरे
क्या आपके पास अपनी कक्षाओं को नाम देने के लिए एक पैटर्न है? शायद कुछ सामान्य नामकरण पैटर्न को देखने की कोशिश करें, उदाहरण के लिए पैटर्न, जो ऊपर दिए गए SRP को संबोधित करने के बाद अनुसरण करना बहुत आसान हो जाता है। क्या आपकी कक्षा XML को पार्स करती है? XMLParser का प्रयास करें। क्या यह XML को पार्स करता है, इनपुट का प्रतिनिधित्व करने के लिए डोमेन मॉडल बनाता है, उन्हें DB में जारी रखता है और फिर ट्विटर पर एक सफलता संदेश पोस्ट करता है? रिफैक्टरिंग की कोशिश करें।
तीसरे
मैं समझता हूं कि आप कहां से आ रहे हैं, और पहले भी ऐसी ही स्थिति में रहे हैं। शायद कुछ कार्यक्षमता के साथ अपनी कक्षा को शुरू करने के लिए एक अस्थायी नाम के साथ fleshing की कोशिश करें। किसी भी अच्छे IDE या रीफैक्टरिंग अस्सिटेंट के साथ, क्लास का नाम बदलना एक-क्लिक एक्शन होना चाहिए, इसलिए जो आप अपनी क्लास को शुरू में नाम देते हैं, उसके लिए स्थायी होने की जरूरत नहीं है! यह दोनों आपको अपने ओसीडी-ब्लॉक को प्राप्त करने में मदद करेंगे, और अपने अवचेतन समय को इसे थोड़ा आगे बढ़ाने के लिए देंगे।
अंत में और विषय से थोड़ा दूर
मेरे पास किसी काम में एक लाइटबल्ब पल था जो मैं दूसरे दिन कर रहा था, एक गैर-महत्वपूर्ण प्रणाली को लागू करना, और मैं कक्षाओं के विभिन्न नामकरणों के साथ खेलने के लिए उचित समय बिता रहा था ... कार्यक्षमता के अनुसार अपने इंटरफेस का नाम दें, अपना नाम दें वर्गों के अनुसार उनके विशिष्ट गुणन ... उदाहरण के लिए, आपको IXMLParser और XMLParser लेने का लालच हो सकता है, लेकिन तब क्या होता है जब आपका इनपुट JSON में बदल जाता है? इसके बजाय IInputParser आज़माएं, इस तरह से आप ठोस कक्षाएं XMLParser और JSONParser बना सकते हैं, जो दोनों IInputParser को अलग-अलग तरीकों से कार्यान्वित करते हैं।