मैं वर्तमान में ऐसी रिपोर्ट के सेट पर काम कर रहा हूं, जिसमें कई अलग-अलग खंड हैं (सभी को अलग-अलग स्वरूपण की आवश्यकता है), और मैं अपने कोड की संरचना के लिए सबसे अच्छा तरीका जानने की कोशिश कर रहा हूं। इसी तरह की रिपोर्ट जो हमने पिछले दिनों में की है उसमें बहुत बड़ी (200+ लाइन) फ़ंक्शंस हैं जो सभी डेटा हेरफेर करते हैं और रिपोर्ट के लिए प्रारूपण करते हैं, जैसे कि वर्कफ़्लो कुछ इस तरह दिखता है:
DataTable reportTable = new DataTable();
void RunReport()
{
reportTable = DataClass.getReportData();
largeReportProcessingFunction();
outputReportToUser();
}
मैं इन बड़े फ़ंक्शंस को छोटे चंक्स में तोड़ने में सक्षम होना चाहता हूं, लेकिन मुझे डर है कि मैं दर्जनों गैर-पुन: प्रयोज्य कार्यों को समाप्त कर दूंगा, और एक समान "यहां सब कुछ करते हैं" फ़ंक्शन जिसका एकमात्र काम है इन सभी छोटे कार्यों को कॉल करें, जैसे:
void largeReportProcessingFunction()
{
processSection1HeaderData();
calculateSection1HeaderAverages();
formatSection1HeaderDisplay();
processSection1SummaryTableData();
calculateSection1SummaryTableTotalRow();
formatSection1SummaryTableDisplay();
processSection1FooterData();
getSection1FooterSummaryTotals();
formatSection1FooterDisplay();
processSection2HeaderData();
calculateSection1HeaderAverages();
formatSection1HeaderDisplay();
calculateSection1HeaderAverages();
...
}
या, अगर हम एक कदम आगे जाते हैं:
void largeReportProcessingFunction()
{
callAllSection1Functions();
callAllSection2Functions();
callAllSection3Functions();
...
}
क्या यह वास्तव में एक बेहतर उपाय है? एक संगठनात्मक दृष्टिकोण से, मुझे लगता है कि यह है (अर्थात सब कुछ बहुत अधिक संगठित है, अन्यथा हो सकता है), लेकिन जहाँ तक कोड पठनीयता मुझे यकीन नहीं है (संभवतः कार्यों की बड़ी श्रृंखला जो केवल अन्य कार्यों को कहते हैं)।
विचार?