ഒഴിവാക്കേണ്ട ആന്റി-പാറ്റേണുകൾ

നിർദേശാത്മകവും പ്രഖ്യാപനാത്മകവുമായ മാതൃകകൾ കലർന്നാൽ പിഴവുകൾ കൂടുതലായി സംഭവിക്കും. സ്റ്റേറ്റിന് കർശനമായ അതിരുകൾ നിലനിർത്തുക.

പേജുകളോടൊപ്പം 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കളിലൂടെ മാറ്റുന്ന മാറ്റങ്ങൾ നിരസിക്കുക.

അടുത്തത്

ആമുഖം