Približki, ki jih je treba izogibati.
Večina napak se pojavi, ko se mešajo imperativni in deklarativni modeli. Ohranite jasno ločnico med stanjem.
Mešanje funkcij "push" in "pop" z navigacijo po straneh.
Ne uporabljajte metod `Navigator.push` ali `Navigator.pop` za steke, ki jih že upravlja razred `List<PageEntry>`.
Komponente v stanju.
Ne vključujte instanc widgetov v metapodatke strani. Ohranite samo ključe in identifikatorje, podobne potem.
Neomejeni ključi.
Ne uporabljajte večkrat iste vrednosti ključa (key) v enaki strukturi podatkov (stack).
Kontrolna lista za migracijo.
Uporabite to kontrolno listo med pregledi prestrukturiranja kode, da zagotovite doslednost arhitekture.
Kontrolna lista.
Dobro proti slabemu.
// Slaba praksa: mešanje ukaznih in opisnih elementov za isto skladno listo.
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Dobra praksa: posodobitev samo opisnega stanja.
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Nasvet za ocenjevanje.
Med pregledom kode, spremljajte: kdo je lastnik mutacij v skladu? in zavračajte spremembe, ki spreminjajo isto strukturo podatkov preko več različnih vmesnikov.
Prejšnja.
Manipulacija pri prenosu tovora.Naprej.
Uvod.