टार्नुपर्ने ढाँचाहरू
आदेशात्मक र घोषणात्मक मोडेलहरू मिसिँदा धेरैजसो बगहरू देखा पर्छन्। अवस्थाको सीमा कडाइका साथ राख्नुहोस्।
push/pop र pages मिसाउने
List<PageEntry> ले पहिले नै नियन्त्रण गरिरहेको stack का लागि Navigator.push/pop नचलाउनुहोस्।
state भित्र Widget
Widget instance लाई page metadata भित्र नराख्नुहोस्। key र route-जस्ता identifier मात्र राख्नुहोस्।
दोहोरो keyहरू
एउटै stack मा PageEntry.key का दोहोरो मानहरू पुनः प्रयोग नगर्नुहोस्।
स्थानान्तरण चेकलिस्ट
वास्तुकलालाई एकरूप राख्न पुनर्संरचना समीक्षाहरूका बेला यो चेकलिस्ट प्रयोग गर्नुहोस्।
चेकलिस्ट
राम्रो बनाम नराम्रो
// खराब: एउटै stack का लागि आदेशात्मक र घोषणात्मक मिसाउने
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// राम्रो: केवल घोषणात्मक state अद्यावधिक गर्नुहोस्
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
समीक्षा सुझाव
कोड समीक्षा गर्दा, stack परिवर्तनहरूको जिम्मेवारी कसको हो भन्ने कुरा ट्र्याक गर्नुहोस् र एउटै stack लाई धेरै APIs मार्फत बदल्ने परिवर्तनहरू अस्वीकार गर्नुहोस्।