मैं अच्छी तरह से प्रलेखित कोड के महत्व को समझता हूं। लेकिन मैं स्व-दस्तावेज कोड के महत्व को भी समझता हूं । किसी विशेष फ़ंक्शन को नेत्रहीन पढ़ना आसान है, हम सॉफ़्टवेयर रखरखाव के दौरान तेजी से आगे बढ़ सकते हैं।
इसके साथ ही कहा, मुझे बड़े कार्यों को अन्य छोटे लोगों में अलग करना पसंद है। लेकिन मैं ऐसा करने के लिए एक वर्ग है जहां एक वर्ग केवल एक सार्वजनिक विधि की सेवा के लिए उनमें से पांच से ऊपर हो सकता है। अब पाँच निजी तरीकों को पाँच सार्वजनिक तरीकों से गुणा करें, और आपको लगभग पच्चीस छुपी हुई विधियाँ मिलती हैं, जिन्हें शायद केवल एक बार सार्वजनिक रूप से कहा जाता है।
निश्चित रूप से, अब उन सार्वजनिक तरीकों को पढ़ना आसान हो गया है, लेकिन मैं मदद नहीं कर सकता लेकिन यह सोचना कि बहुत सारे कार्य करना बुरा व्यवहार है।
[संपादित करें]
लोग मुझसे पूछ रहे हैं कि मुझे क्यों लगता है कि बहुत सारे कार्य करना बुरा व्यवहार है।
सरल जवाब: यह एक आंत की भावना है।
मेरा विश्वास एक बिट के लिए नहीं है, सॉफ्टवेयर इंजीनियरिंग अनुभव के किसी भी घंटे द्वारा समर्थित है। यह सिर्फ एक अनिश्चितता है जिसने मुझे "लेखक का ब्लॉक" दिया, लेकिन एक प्रोग्रामर के लिए।
अतीत में, मैं केवल व्यक्तिगत परियोजनाओं की प्रोग्रामिंग करता रहा हूं। यह अभी हाल ही में है कि मैं टीम आधारित परियोजनाओं पर चला गया। अब, मैं यह सुनिश्चित करना चाहता हूं कि अन्य मेरे कोड को पढ़ और समझ सकें।
मुझे यकीन नहीं था कि क्या सुस्ती में सुधार होगा। एक तरफ, मैं एक बड़े कार्य को अन्य छोटे लोगों में समझदारी से अलग करने के बारे में सोच रहा था। लेकिन मेरा एक और पक्ष था, यह कहना कि यह केवल निरर्थक है।
इसलिए, मैं इसे सही रास्ता चुनने के लिए खुद को प्रबुद्ध करने के लिए कह रहा हूं।
[संपादित करें]
नीचे, मैंने अपनी समस्या को हल करने के तरीके के दो संस्करण शामिल किए । पहले वाले ने कोड के बड़े हिस्से को अलग न करके इसे हल किया । दूसरा अलग चीजें करता है।
पहला संस्करण:
public static int Main()
{
// Displays the menu.
Console.WriteLine("Pick your option");
Console.Writeline("[1] Input and display a polynomial");
Console.WriteLine("[2] Add two polynomials");
Console.WriteLine("[3] Subtract two polynomials");
Console.WriteLine("[4] Differentiate two polynomials");
Console.WriteLine("[0] Quit");
}
दूसरा संस्करण:
public static int Main()
{
DisplayMenu();
}
private static void DisplayMenu()
{
Console.WriteLine("Pick your option");
Console.Writeline("[1] Input and display a polynomial");
Console.WriteLine("[2] Add two polynomials");
Console.WriteLine("[3] Subtract two polynomials");
Console.WriteLine("[4] Differentiate two polynomials");
Console.WriteLine("[0] Quit");
}
उपरोक्त उदाहरणों में, उत्तरार्द्ध एक फ़ंक्शन को कॉल करता है जो केवल प्रोग्राम के पूरे रनटाइम में एक बार उपयोग किया जाएगा।
नोट: उपरोक्त कोड सामान्यीकृत है, लेकिन यह मेरी समस्या के समान प्रकृति का है।
अब, यहाँ मेरा सवाल है: कौन सा? क्या मैं पहले वाले को उठाता हूँ, या दूसरे वाले को?