Saat ini saya sedang mengerjakan serangkaian laporan yang memiliki banyak bagian berbeda (semua memerlukan pemformatan berbeda), dan saya mencoba mencari cara terbaik untuk menyusun kode saya. Laporan serupa yang kami lakukan di masa lalu memiliki fungsi yang sangat besar (200+ baris) yang melakukan semua manipulasi dan pemformatan data untuk laporan, sehingga alur kerjanya terlihat seperti ini:
DataTable reportTable = new DataTable();
void RunReport()
{
reportTable = DataClass.getReportData();
largeReportProcessingFunction();
outputReportToUser();
}
Saya ingin dapat memecah fungsi-fungsi besar ini menjadi potongan-potongan yang lebih kecil, tetapi saya takut bahwa pada akhirnya saya akan memiliki puluhan fungsi yang tidak dapat digunakan kembali, dan fungsi "do everything here" yang serupa yang tugasnya hanya untuk panggil semua fungsi yang lebih kecil ini, seperti:
void largeReportProcessingFunction()
{
processSection1HeaderData();
calculateSection1HeaderAverages();
formatSection1HeaderDisplay();
processSection1SummaryTableData();
calculateSection1SummaryTableTotalRow();
formatSection1SummaryTableDisplay();
processSection1FooterData();
getSection1FooterSummaryTotals();
formatSection1FooterDisplay();
processSection2HeaderData();
calculateSection1HeaderAverages();
formatSection1HeaderDisplay();
calculateSection1HeaderAverages();
...
}
Atau, jika kita melangkah lebih jauh:
void largeReportProcessingFunction()
{
callAllSection1Functions();
callAllSection2Functions();
callAllSection3Functions();
...
}
Apakah ini benar-benar solusi yang lebih baik? Dari sudut pandang organisasi saya kira itu (yaitu semuanya jauh lebih terorganisir daripada yang seharusnya), tetapi sejauh pembacaan kode saya tidak yakin (rantai fungsi yang berpotensi besar yang hanya memanggil fungsi lain).
Pikiran?