דפוסים שליליים שיש להימנע מהם.
רוב הבעיות מתרחשות כאשר מערבבים בין מודלים אימפרטיביים ודקלרטיביים. שמרו על גבולות ברורים של מצבים (state).
שילוב בין פעולות "הוספה/הסרה" ודפים.
אל תשתמשו בפונקציות Navigator.push/pop עבור מחסניות שכבר מנוהלות על ידי List<PageEntry>.
רכיב במצב מסוים.
אל תכניסו מופעים של רכיבים (ווידג'טים) לתוך מטא-נתונים של עמוד. שמרו רק מזהים מסוג מפתחות ומזהים דמויי נתיבים.
מפתחות לא מוגבלים.
אין להשתמש שוב בערכי מפתח זהים עבור רשומות עמוד באותו מחסנית.
רשימת בדיקה למעבר דירה.
השתמשו ברשימה הזו במהלך בדיקות שינויים בקוד, כדי לשמור על עקביות הארכיטקטורה.
רשימת בדיקה.
טוב מול רע.
// לא מומלץ: שימוש בו-זמני בפקודות ובמשתנים עבור אותו מחסנית
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// מומלץ: עדכון רק של מצב הצהרתי
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
טיפ חשוב בעת כתיבת ביקורת.
במהלך בדיקת קוד, יש לעקוב אחרי... מי מחזיק בזכויות על שינויים בקוד (stack mutations)? ודחו שינויים שמשנים את אותו מאגר מידע באמצעות מספר ממשקי תכנות יישומים (API).
קודם.
טיפול בגב.הלאה.
מבוא.