टाळण्याची नकारात्मक पद्धती.

बऱ्याच चुका त्या परिस्थितीत होतात जेव्हा 'इम्पेरेटिव्ह' (imperative) आणि 'डिक्लेरेटिव्ह' (declarative) मॉडेल्स एकत्र वापरले जातात. त्यामुळे, डेटाच्या व्यवस्थापनासाठी एक स्पष्ट आणि निश्चित नियम असावा.

"पुश/पॉप (push/pop) आणि पेजेस (pages) एकत्र करणे."

`Navigator.push` किंवा `Navigator.pop` फंक्शनचा वापर अशा स्टॅकसाठी करू नका, ज्यावर आधीपासूनच `List<PageEntry>` द्वारे नियंत्रण ठेवले जात आहे.

विजेटची स्थिती.

विजेटचे उदाहरण (इंस्टन्स) पृष्ठाच्या मेटाडेटा मध्ये टाकू नका. फक्त 'की' (key) आणि मार्ग (route) दर्शवणारे आयडेंटिफायर (identifiers) ठेवा.

अमर्यादित की (keys).

एकाच वेळी वापरल्या जाणाऱ्या 'पेजएंट्री' ऑब्जेक्ट्समध्ये 'की' मूल्यांची पुनरावृत्ती करू नका.

स्थलांतर तपासणी यादी.

या तपासणी यादीचा (चेकलिस्ट) उपयोग 'रिफॅक्टर' (कोडमध्ये सुधारणा) करताना करा, जेणेकरून प्रणालीची रचना (आर्किटेक्चर) सुसंगत राहील.

तपासणी यादी.

चांगले विरुद्ध वाईट.

// वाईट: एकाच स्टॅकसाठी आज्ञात्मक आणि घोषणात्मक (declarative) पद्धती एकत्र वापरणे
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];

// चांगले: फक्त घोषणात्मक (declarative) स्थिती अद्ययावत करा
setState(() {
  _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
समीक्षा देण्याची टीप.

कोड तपासणी करताना, खालील गोष्टींची नोंद ठेवा. 'स्टॅक म्युटेशन्स'चे मालक कोण आहेत? आणि अशा बदलांना नाकार द्या, जे एकाच डेटा संरचनेमध्ये (डेटा स्टॅक) अनेक एपीआय (API) वापरून बदल घडवतात.