ഒഴിവാക്കേണ്ട ആന്റി-പാറ്റേണുകൾ
നിർദേശാത്മകവും പ്രഖ്യാപനാത്മകവുമായ മാതൃകകൾ കലർന്നാൽ പിഴവുകൾ കൂടുതലായി സംഭവിക്കും. സ്റ്റേറ്റിന് കർശനമായ അതിരുകൾ നിലനിർത്തുക.
പേജുകളോടൊപ്പം push/pop കലർത്തൽ
List<PageEntry> ഇതിനകം നിയന്ത്രിക്കുന്ന സ്റ്റാക്കുകൾക്കായി Navigator.push/pop വിളിക്കരുത്.
സ്റ്റേറ്റിലുള്ള Widget
പേജ് മെറ്റാഡാറ്റയിൽ Widget ഉദാഹരണങ്ങൾ ഇടരുത്. കീകളും റൂട്ട്-സമാനമായ തിരിച്ചറിയിപ്പുകളും മാത്രം സൂക്ഷിക്കുക.
പുനരാവൃത കീകൾ
ഒരേ സ്റ്റാക്കിൽ ഒരേ PageEntry.key മൂല്യങ്ങൾ വീണ്ടും ഉപയോഗിക്കരുത്.
മൈഗ്രേഷൻ ചെക്ക്ലിസ്റ്റ്
ആർക്കിടെക്ചർ ഏകോപിതമായി നിലനിർത്താൻ റിഫാക്ടറിംഗ് റിവ്യൂകളിൽ ഈ ചെക്ക്ലിസ്റ്റ് ഉപയോഗിക്കുക.
ചെക്ക്ലിസ്റ്റ്
നല്ലത് vs മോശം
// മോശം: ഒരേ സ്റ്റാക്കിനായി നിർദേശാത്മകവും പ്രഖ്യാപനാത്മകവുമായ രീതികൾ കലർത്തൽ
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// നല്ലത്: പ്രഖ്യാപനാത്മക സ്റ്റേറ്റ് മാത്രം പുതുക്കുക
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
റിവ്യൂ സൂചന
കോഡ് റിവ്യൂ സമയത്ത് ശ്രദ്ധിക്കുക സ്റ്റാക്ക് മാറ്റങ്ങൾക്ക് ആരാണ് ഉത്തരവാദി ഒരേ സ്റ്റാക്കിനെ പല APIകളിലൂടെ മാറ്റുന്ന മാറ്റങ്ങൾ നിരസിക്കുക.
മുമ്പത്തെത്
ബാക്ക് കൈകാര്യം ചെയ്യൽഅടുത്തത്
ആമുഖം