ತಪ್ಪಿಸಬೇಕಾದ ಆಂಟಿ-ಪ್ಯಾಟರ್ನ್ಗಳು
ಇಂಪೆರೇಟಿವ್ ಮತ್ತು ಡಿಕ್ಲರೇಟಿವ್ ಮಾದರಿಗಳನ್ನು ಮಿಶ್ರ ಮಾಡಿದಾಗ ಹೆಚ್ಚಿನ ದೋಷಗಳು ಸಂಭವಿಸುತ್ತವೆ. ಸ್ಥಿತಿಗೆ ಕಟ್ಟುನಿಟ್ಟಾದ ಗಡಿಯನ್ನು ಇರಿಸಿ.
push/pop ಅನ್ನು pages ಜೊತೆ ಮಿಶ್ರಗೊಳಿಸುವುದು
`List<PageEntry>` ಈಗಾಗಲೇ ನಿಯಂತ್ರಿಸುತ್ತಿರುವ stackಗಳಿಗೆ `Navigator.push`/`pop` ಅನ್ನು ಕರೆಬೇಡಿ.
ಸ್ಥಿತಿಯಲ್ಲಿ Widget
page metadata ಒಳಗೆ `Widget` instanceಗಳನ್ನು ಇಡಬೇಡಿ. keyಗಳು ಮತ್ತು route-ಸಮಾನ ಗುರುತುಗಳನ್ನು ಮಾತ್ರ ಇಟ್ಟುಕೊಳ್ಳಿ.
ಅನಿಯಂತ್ರಿತ keyಗಳು
ಅದೇ stackನಲ್ಲಿ duplicate `PageEntry.key` ಮೌಲ್ಯಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಬೇಡಿ.
ಸ್ಥಳಾಂತರ ಪರಿಶೀಲನಾ ಪಟ್ಟಿ
ಆರ್ಕಿಟೆಕ್ಚರ್ ಸ್ಥಿರವಾಗಿರಲು refactor review ಗಳ ಸಮಯದಲ್ಲಿ ಈ ಪರಿಶೀಲನಾ ಪಟ್ಟಿಯನ್ನು ಬಳಸಿ.
ಪರಿಶೀಲನಾ ಪಟ್ಟಿ
ಉತ್ತಮ vs ಕೆಟ್ಟದು
// ಕೆಟ್ಟದು: ಒಂದೇ stackಗೆ ಇಂಪೆರೇಟಿವ್ ಮತ್ತು ಡಿಕ್ಲರೇಟಿವ್ ವಿಧಾನಗಳನ್ನು ಮಿಶ್ರಗೊಳಿಸುವುದು
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// ಉತ್ತಮ: ಡಿಕ್ಲರೇಟಿವ್ state ಅನ್ನು ಮಾತ್ರ ನವೀಕರಿಸಿ
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
review ಸಲಹೆ
code review ವೇಳೆ ಗಮನಿಸಿ stack ಬದಲಾವಣೆಗಳಿಗೆ ಯಾರು ಹೊಣೆ ಎಂದು ಮತ್ತು ಹಲವು API ಗಳ ಮೂಲಕ ಅದೇ stack ಅನ್ನು ಬದಲಾಯಿಸುವ ಬದಲಾವಣೆಗಳನ್ನು ತಿರಸ್ಕರಿಸಿ.
ಹಿಂದಿನದು
ಓವರ್ಲೆಗಳುಮುಂದಿನದು
ಪರಿಚಯ