मुख्य () विधि प्रक्रियात्मक प्रोग्रामिंग के लिए एक बदसूरत थ्रोबैक है, जो एप्लिकेशन में प्रवेश बिंदु प्रदान करता है। इसे अतिक्रमण करने के लिए विभिन्न प्रोग्रामिंग भाषाओं में प्रयास किए जाते हैं, लेकिन इसकी प्रकृति बहुत मुश्किल बना देती है (इसे सार्वजनिक और स्थिर होना पड़ता है, लेकिन इसे कार्यक्रम में किसी और चीज से नहीं बुलाया जाना चाहिए, जो बहुत विरोधाभासी है)। WPF सफल रहा (मुख्य छिपाकर) आप से WPF एप्लीकेशन प्रोजेक्ट के बोल्स में और कस्टम प्रोसेसिंग के लिए कॉन्फ़िगर करने योग्य "हुक" प्रदान करते हैं), जैसा कि जावा (एंड्रॉइड ऐप के लिए एक समान तरीके से) किया गया था, लेकिन WinForms और अधिकांश अन्य प्रकार के एप्लिकेशन अभी भी आपको मुख्य () के साथ सौदा करते हैं।
इसलिए, अधिकांश विशेषज्ञ कहते हैं कि मुख्य () फ़ंक्शन का LOC जितना संभव हो उतना कम होना चाहिए। एक दृष्टिकोण है (जो मुझे लगता है कि थोड़ा ओवरकिल है) जिसमें मुख्य () फ़ंक्शन में एक पंक्ति है:
public class Program
{
private Program(string[] args)
{
//parse args and perform basic program setup
}
//Reduce the ugliness to the absolute minimum
public static void main(string[] args)
{
new Program(args).Run();
}
private void Run()
{
//kick off the driving O-O code for the app; i.e. Application.Run()
}
}
यह थोड़ा बहुत है, लेकिन मैं मूल सिद्धांत से सहमत हूं; मुख्य () को आपके ऑब्जेक्ट-ओरिएंटेड, इवेंट-संचालित एप्लिकेशन को "तैयार" स्थिति में लाने के लिए जितना संभव हो उतना कम होना चाहिए।