ಲಾಭಗಳು:
- ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯು ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಮೊದಲು MVVM ನಂತಹ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಹೇರುವ ಮೂಲಕ ಮತ್ತು ಸಣ್ಣ ತುಂಡುಗಳಲ್ಲಿ ಪದರದಿಂದ ಪದರವನ್ನು ವಿನಂತಿಸುವ ಮೂಲಕ ಸುಲಭವಾಗಿ ನಿರ್ವಹಿಸಲು ಮತ್ತು ಪರೀಕ್ಷಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಪಡೆಯುವುದು.
- ಕೋಟ್ಲಿನ್ನಲ್ಲಿ ಶೂನ್ಯ ಸುರಕ್ಷತೆ ಮತ್ತು ಕೊರೂಟಿನ್, ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ ಐಚ್ಛಿಕ ಮತ್ತು ಮೆಮೊರಿ ಲೂಪ್ಗಳಂತಹ ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ ಬಲೆಗಳನ್ನು ಗುರುತಿಸುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಅವುಗಳ ವಿರುದ್ಧ ರಚಿತವಾದ ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
- ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ (ಫ್ಲಟರ್, ರಿಯಾಕ್ಟ್ ನೇಟಿವ್) ಯೋಜನೆಗಳಲ್ಲಿ ಪ್ರತಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಅನುಮತಿಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯ
ಮೊಬೈಲ್ ಅಭಿವೃದ್ಧಿಯ ಹೃದಯವು ಕೋಡ್ ಆಗಿದೆ, ಮತ್ತು ಅಲ್ಲಿಯೇ AI ನಿಂದ ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾದ ಲಾಭಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ. ಆದರೆ "AI ನನಗೆ ಕೋಡ್ ಬರೆಯಲಿ" ಎಂಬ ವಾಕ್ಯವು ತನ್ನದೇ ಆದ ತಂತ್ರವಲ್ಲ. ಉತ್ತಮ ಕೋಡ್ ಉತ್ಪಾದನೆ; ಇದಕ್ಕೆ ಸರಿಯಾದ ಭಾಷೆ, ಸರಿಯಾದ ವಾಸ್ತುಶಿಲ್ಪ, ಸರಿಯಾದ ಗಡಿಗಳು ಮತ್ತು ಸರಿಯಾದ ಮೌಲ್ಯೀಕರಣವನ್ನು ಸಂಯೋಜಿಸುವ ಅಗತ್ಯವಿದೆ. ಈ ಘಟಕದಲ್ಲಿ, ಐಒಎಸ್ ಭಾಷೆಯಾದ ಸ್ವಿಫ್ಟ್, ಕೋಟ್ಲಿನ್, ಆಂಡ್ರಾಯ್ಡ್ ಭಾಷೆ ಮತ್ತು ಒಂದೇ ಕೋಡ್ ಬೇಸ್ನೊಂದಿಗೆ ಎರಡು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ರನ್ ಆಗುವ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಪರಿಕರಗಳಿಗಾಗಿ AI ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಬಳಸುವುದು ಹೇಗೆ ಎಂದು ನಾವು ಕಲಿಯುತ್ತೇವೆ. ಗುರಿಯು AI ಅನ್ನು "ಕೋಡ್ ಆಟೊಮ್ಯಾಟನ್" ಆಗಿ ಅಲ್ಲ ಆದರೆ ನೀವು ಅದರ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ನಿರ್ಧರಿಸುವ ವೇಗವರ್ಧಕವಾಗಿ ಇರಿಸುವುದಾಗಿದೆ.
ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೊದಲು, ಕೋಡ್ ಎರಡನೇ
ಆರ್ಕಿಟೆಕ್ಚರಲ್ ಪ್ಲಾನ್ ಇಲ್ಲದೆ ನೇರವಾಗಿ AI ಗೆ ಕೋಡ್ ಕೇಳುವುದು ಸಾಮಾನ್ಯ ತಪ್ಪು. ಇದು ಅಡಿಪಾಯವನ್ನು ಹಾಕದೆ ಗೋಡೆಯನ್ನು ನಿರ್ಮಿಸಿದಂತಿದೆ. ಮೊಬೈಲ್ನಲ್ಲಿನ ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ ಆರ್ಕಿಟೆಕ್ಚರ್ MVVM ಆಗಿದೆ (ಮಾದರಿ-ವೀಕ್ಷಣೆ-ವೀಕ್ಷಣೆ ಮಾದರಿ - ಡೇಟಾ, ಪ್ರದರ್ಶನ ಮತ್ತು ಪ್ರದರ್ಶನದ ತರ್ಕವನ್ನು ಪ್ರತ್ಯೇಕಿಸುವ ವಿನ್ಯಾಸ ಮಾದರಿ). ಇದರರ್ಥ ವೀಕ್ಷಣೆಯು ಕೇವಲ ವೀಕ್ಷಣೆಯಾಗಿದೆ, ತರ್ಕ ಮತ್ತು ಸ್ಥಿತಿಯು ViewModel ನಲ್ಲಿ ವಾಸಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾವು ಮಾದರಿ ಪದರದಲ್ಲಿದೆ. ನೀವು ಪ್ರಾರಂಭದಿಂದಲೂ AI ಮೇಲೆ ಈ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಹೇರದಿದ್ದರೆ, ಇದು ಪರೀಕ್ಷಿಸಲಾಗದ ಮತ್ತು ನಿರ್ವಹಿಸಲು ಕಷ್ಟಕರವಾದ ರಚನೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಅದು ಎಲ್ಲಾ ತರ್ಕಗಳನ್ನು ಪರದೆಯ ಕೋಡ್ಗೆ ಕ್ರ್ಯಾಮ್ ಮಾಡುತ್ತದೆ.
ಹಂತ ಹಂತವಾಗಿ ಆರೋಗ್ಯಕರ ಕೋಡ್ ಉತ್ಪಾದನೆಯ ಹರಿವು:
- ಸಂದರ್ಭವನ್ನು ನೀಡಿ. ವೇದಿಕೆ, ಭಾಷೆ, ಆವೃತ್ತಿ, ವಾಸ್ತುಶಿಲ್ಪ, ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
- ಪದರಗಳನ್ನು ಕೇಳಿ. ಮೊದಲು ಡೇಟಾ ಮಾದರಿ, ನಂತರ ನೆಟ್ವರ್ಕ್/ಡೇಟಾ ಲೇಯರ್, ನಂತರ ವ್ಯೂಮಾಡೆಲ್, ಪರದೆಯ ಕೊನೆಯದಾಗಿ.
- ಸಣ್ಣ ತುಂಡುಗಳನ್ನು ಕೇಳಿ. ಒಂದು ಪರದೆ ಅಥವಾ ಒಂದು ಕಾರ್ಯ; ಇದು ದೈತ್ಯ 500-ಸಾಲಿನ ಫೈಲ್ ಅಲ್ಲ.
- ಪ್ರತಿ ತುಣುಕನ್ನು ಪರಿಶೀಲಿಸಿ. ನಿರ್ಮಿಸಿ, ಪರೀಕ್ಷಿಸಿ, ಸಂಯೋಜಿಸಿ; ನಂತರ ಮುಂದಿನ ಟ್ರ್ಯಾಕ್ಗೆ ತೆರಳಿ.
- ರಿಫ್ಯಾಕ್ಟರ್ ಅನ್ನು ವಿನಂತಿಸಿ (ಕೋಡ್ ಅನ್ನು ಸುಧಾರಿಸಿ). ವರ್ಕಿಂಗ್ ಕೋಡ್ ನಂತರ "ಇದನ್ನು ಹೆಚ್ಚು ಓದಬಲ್ಲ ಮತ್ತು ಪರೀಕ್ಷಿಸಬಹುದಾದಂತೆ ಮಾಡಿ" ಹಂತ.
ಸುಳಿವು: AI ಗೆ ಹೇಳಿ "MVVM ಪ್ರಕಾರ ಕೋಡ್ ಅನ್ನು ವಿಭಜಿಸಿ: ಯಾವ ಭಾಗವು ವೀಕ್ಷಣೆಯಾಗಿರಬೇಕು, ಯಾವುದು ViewModel ಆಗಿರಬೇಕು, ಅದು ಮಾದರಿಯಾಗಿರಬೇಕು, ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ನೀಡಿ". ಈ ಒಂದೇ ವಾಕ್ಯವು ರಚಿಸಿದ ಕೋಡ್ನ ವಾಸ್ತುಶಿಲ್ಪದ ಗುಣಮಟ್ಟವನ್ನು ನಾಟಕೀಯವಾಗಿ ಸುಧಾರಿಸುತ್ತದೆ.
ಕೋಟ್ಲಿನ್ ಮತ್ತು ಸ್ವಿಫ್ಟ್: ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ ಪರಿಗಣನೆಗಳು
ಕೋಟ್ಲಿನ್ (ಆಂಡ್ರಾಯ್ಡ್) ಮತ್ತು ಸ್ವಿಫ್ಟ್ (ಐಒಎಸ್) ಆಧುನಿಕ, ಸುರಕ್ಷಿತ ಭಾಷೆಗಳು, ಆದರೆ ಅವು ವಿಭಿನ್ನ ಅಪಾಯಗಳನ್ನು ಹೊಂದಿವೆ. ಕೋಟ್ಲಿನ್ನಲ್ಲಿ, ಶೂನ್ಯ ಸುರಕ್ಷತೆ (ಟೈಪ್ ಸಿಸ್ಟಮ್ ಮೂಲಕ ವೇರಿಯೇಬಲ್ "ಶೂನ್ಯ" ಆಗಬಹುದೇ ಎಂದು ಪರಿಶೀಲಿಸುವುದು) ಕೆಲವೊಮ್ಮೆ AI ನಿಂದ ಸಡಿಲವಾಗಿ ಟೈಪ್ ಮಾಡಲಾಗುತ್ತದೆ; ಅನಗತ್ಯ !! ಆಪರೇಟರ್ (ಶೂನ್ಯವಾಗಿದ್ದರೆ ಕ್ರ್ಯಾಶ್ ಅನ್ನು ಒತ್ತಾಯಿಸುವ ಚಿಹ್ನೆ) ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕ್ರ್ಯಾಶ್ ಮಾಡಬಹುದು. ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ, ಐಚ್ಛಿಕ ನಿರ್ವಹಣೆ ಮತ್ತು ಧಾರಣ ಚಕ್ರಗಳು ನಿರ್ಣಾಯಕವಾಗಿವೆ; AI ಮುಚ್ಚುವಿಕೆಗಳಲ್ಲಿ [ದುರ್ಬಲ ಸ್ವಯಂ] ಸೇರಿಸಲು ಮರೆತುಬಿಡಬಹುದು ಮತ್ತು ಇದು ಮೆಮೊರಿ ಸೋರಿಕೆಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ನೀವು ಭಾಷೆಯನ್ನು ಆರಿಸಿದಾಗ, ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿ: "ಕೋಟ್ಲಿನ್ನಲ್ಲಿ ಶೂನ್ಯ ಸುರಕ್ಷತೆಯನ್ನು ಸಂರಕ್ಷಿಸಿ, ಬಳಸಬೇಡಿ !!" ಅಥವಾ "ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ ಮುಚ್ಚುವಿಕೆಗಳಲ್ಲಿ ಬಲವಾದ ಉಲ್ಲೇಖ ಲೂಪಿಂಗ್ ಅನ್ನು ತಡೆಯಿರಿ".
ಎಚ್ಚರಿಕೆ: AI-ಉತ್ಪಾದಿತ ಅಸಮಕಾಲಿಕ ಕೋಡ್ಗೆ ವಿಶೇಷ ಗಮನದ ಅಗತ್ಯವಿದೆ. Kotlin coroutines ನಲ್ಲಿ ತಪ್ಪಾದ ಸ್ಕೋಪ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ಅಥವಾ ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ ಅಸಿಂಕ್/ವೇಯ್ಟ್ನಲ್ಲಿ ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವುದು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಫ್ರೀಜ್ ಮಾಡುತ್ತದೆ. AI ಈ ತಪ್ಪುಗಳನ್ನು ಆಗಾಗ್ಗೆ ಮಾಡುತ್ತದೆ; ಅದನ್ನು ಪರೀಕ್ಷಿಸದೆ ನಂಬಬೇಡಿ.
ಕ್ರಾಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅಭಿವೃದ್ಧಿ: ಫ್ಲಟರ್ ಮತ್ತು ರಿಯಾಕ್ಟ್ ಸ್ಥಳೀಯ
ಒಂದೇ ಕೋಡ್ ಬೇಸ್ನೊಂದಿಗೆ iOS ಮತ್ತು Android ಎರಡಕ್ಕೂ ಹೋಗಲು ಬಯಸುವವರಿಗೆ, Flutter (Google ನ Dart ಭಾಷೆ ಆಧಾರಿತ ಟೂಲ್ಕಿಟ್) ಮತ್ತು React Native (Meta ನ JavaScript ಆಧಾರಿತ ಪರಿಹಾರ) ಎದ್ದು ಕಾಣುತ್ತವೆ. ಈ ಪರಿಸರದಲ್ಲಿಯೂ AI ಶಕ್ತಿಯುತವಾಗಿದೆ, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ವ್ಯತ್ಯಾಸಗಳನ್ನು (ಅನುಮತಿಗಳು, ಅಂಗಡಿ ನಿಯಮಗಳು, ಸಾಧನ-ನಿರ್ದಿಷ್ಟ ನಡವಳಿಕೆ) ಬೈಪಾಸ್ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, Flutter ನಲ್ಲಿ, iOS ಮತ್ತು Android ನಲ್ಲಿನ ವಿಭಿನ್ನ ಫೈಲ್ಗಳಲ್ಲಿ ಕ್ಯಾಮರಾ ಅನುಮತಿಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ; AI ಒಂದನ್ನು ಮಾತ್ರ ಬರೆಯಬಹುದು. ಅಡ್ಡ-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಕೋಡ್ನಲ್ಲಿ, "ಎರಡೂ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಿಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಅಗತ್ಯ ಅನುಮತಿಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನೀಡಿ" ಎಂದು ಹೇಳುವುದು ಅತ್ಯಗತ್ಯ.
ಚುನಾವಣಾ ಸಾರಾಂಶ:
ಅಪ್ರೋಚ್
ಯಾವಾಗ
AI ಜೊತೆ ಗಮನ
ಸ್ಥಳೀಯ (ಕೋಟ್ಲಿನ್/ಸ್ವಿಫ್ಟ್)
ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ, ಸಾಧನ-ಆಳವಾದ ಏಕೀಕರಣ
ಪ್ರತಿಯೊಂದು ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಪ್ರತ್ಯೇಕ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿದೆ; ಎರಡು ಬಾರಿ ಪರಿಶೀಲಿಸಿ
ಬೀಸು
ಒಂದು ತಂಡ, ವೇಗದ, ಸ್ಥಿರವಾದ UI
ಪ್ಲಾಟ್ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟ ಅನುಮತಿ/ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪರಿಶೀಲಿಸಿ
ಸ್ಥಳೀಯವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಿ
ವೆಬ್/ಜೆಎಸ್ ತಂಡ ಲಭ್ಯವಿದೆ
ಸೇತುವೆ (ಸ್ಥಳೀಯ ಸೇತುವೆ) ವಿಭಾಗಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ಪರೀಕ್ಷಿಸಿ
ಮೂರು ಸಣ್ಣ ಪ್ರಕರಣಗಳು
ಪ್ರಕರಣ 1 - ಕೊರೂಟಿನ್ ಬಲೆ. AI ನಿಂದ ಉತ್ಪನ್ನ ಪಟ್ಟಿಯನ್ನು ಎಳೆಯುವ ಕಾರ್ಯವನ್ನು Android ತಂಡವು ಪಡೆದುಕೊಂಡಿದೆ. ಕೋಡ್ ಮುಖ್ಯ ಥ್ರೆಡ್ನಲ್ಲಿ ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಯನ್ನು ಮಾಡುತ್ತಿದೆ; ಪರೀಕ್ಷಾ ಸಾಧನದಲ್ಲಿ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಂಡಿಲ್ಲ, ಆದರೆ ದುರ್ಬಲ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ, ಅಪ್ಲಿಕೇಶನ್ 4 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಸ್ಥಗಿತಗೊಂಡಿತು ಮತ್ತು ANR (ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ) ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಿತು. AI ಗೆ "IO ಡಿಸ್ಪ್ಯಾಚರ್ನಲ್ಲಿ ನೆಟ್ವರ್ಕ್ ಕೆಲಸ ಮಾಡಿ" ಎಂದು ಹೇಳಿದಾಗ ಅದನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ. ಪಾಠ: ಏಕಕಾಲಿಕತೆಯನ್ನು ಯಾವಾಗಲೂ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ.
ಪ್ರಕರಣ 2 - ಮೆಮೊರಿ ಸೋರಿಕೆ. ಐಒಎಸ್ ಡೆವಲಪರ್ 20 ಬಾರಿ ಎಐ-ರಚಿಸಿದ ಪರದೆಯನ್ನು ತೆರೆದ ಮತ್ತು ಮುಚ್ಚಿದ ನಂತರ, ಅಪ್ಲಿಕೇಶನ್ನ ಮೆಮೊರಿಯು 40 MB ಯಿಂದ 180 MB ವರೆಗೆ ಹೆಚ್ಚಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿದಿದೆ. ಕಾರಣ, ಮುಚ್ಚುವಿಕೆಯಲ್ಲಿ ಕಾಣೆಯಾದ [ದುರ್ಬಲ ಸ್ವಯಂ] ಕಾರಣದಿಂದ ವ್ಯೂ ಕಂಟ್ರೋಲರ್ ಅನ್ನು ಮೆಮೊರಿಯಿಂದ ತೆರವುಗೊಳಿಸಲಾಗಲಿಲ್ಲ. ಎಕ್ಸ್ಕೋಡ್ನ ಮೆಮೊರಿ ಗ್ರಾಫ್ ಬಲೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸಿತು. ಪಾಠ: ಸ್ಥಳೀಯ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಮೆಮೊರಿ ಪ್ರೊಫೈಲ್ ಕಡ್ಡಾಯವಾಗಿದೆ.
ಪ್ರಕರಣ 3 - ವೇದಿಕೆ ವ್ಯತ್ಯಾಸ. ಫ್ಲಟರ್ ತಂಡವು AI ನಿಂದ ಗ್ಯಾಲರಿ ಪ್ರವೇಶ ಕೋಡ್ ಅನ್ನು ಪಡೆದುಕೊಂಡಿದೆ, ಇದು Android ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದೆ ಆದರೆ iOS ನಲ್ಲಿ ಕ್ರ್ಯಾಶ್ ಆಗಿದೆ. ಕಾರಣವೆಂದರೆ ಫೋಟೋ ಲೈಬ್ರರಿ ಅನುಮತಿ ವಿವರಣೆಯನ್ನು (NSPhotoLibraryUsageDescription) Info.plist ಫೈಲ್ಗೆ ಸೇರಿಸಲಾಗಿಲ್ಲ; AI ಕೇವಲ ಆಂಡ್ರಾಯ್ಡ್ ಸೈಡ್ ಅನ್ನು ಮಾತ್ರ ಬರೆದಿದೆ. 15 ನಿಮಿಷ ಫಿಕ್ಸ್ ಆದ್ರೆ ಸಿಕ್ಕಿದ್ರೆ ಅಂಗಡಿ ರಿಜೆಕ್ಟ್ ಆಗ್ತಿತ್ತು.
ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್ / ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್
ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್: "API ನಿಂದ ಉತ್ಪನ್ನಗಳನ್ನು ಎಳೆಯುವ ಕೋಟ್ಲಿನ್ ಕೋಡ್ ಬರೆಯಿರಿ."
ಪ್ರಬಲ ಪ್ರಾಂಪ್ಟ್: "REST API ನಿಂದ ಉತ್ಪನ್ನ ಪಟ್ಟಿಯನ್ನು ಎಳೆಯುವ Android/Kotlin ಗಾಗಿ ಕೋಡ್ ಅನ್ನು ರಚಿಸಿ.- ರೆಟ್ರೋಫಿಟ್ನೊಂದಿಗೆ ನೆಟ್ವರ್ಕ್ ಲೇಯರ್, ಕಾರ್ಯವನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಿ- Dispatchers.IO ನಲ್ಲಿ ನೆಟ್ವರ್ಕ್ ಕೆಲಸ; ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವುದು- MVVM: ರೆಪೊಸಿಟರಿ -> ViewModel -> ಸ್ಟೇಟ್ಫ್ಲೋ ಜೊತೆ UI ಸ್ಥಿತಿ- 4x ವರ್ಗಕ್ಕೆ ಪ್ರತ್ಯೇಕ ಸ್ಥಿತಿ, 4x ಸೀಲ್ಡ್ ವರ್ಗದ ಪ್ರತ್ಯೇಕ ಸ್ಥಿತಿ, 5x ಗಾಗಿ ಯಾವುದೇ ನೆಟ್ವರ್ಕ್ ಇಲ್ಲ ಶೂನ್ಯ ಭದ್ರತೆ, !! ಲೇಯರ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಫೈಲ್ಗಳಾಗಿ ಬಳಸಿ, ಪ್ರತಿಯೊಂದೂ 1 ವಾಕ್ಯವನ್ನು ವಿವರಿಸುತ್ತದೆ."
ಬಲವಾದ ಪ್ರೇರಣೆಯು ಹಿಂದಿನ ಪ್ರಕರಣಗಳ ಬಲೆಗೆ ಬೀಳದಂತೆ ರಚಿಸಲಾದ ಕೋಡ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ.
ನಕಲು ಮಾಡಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್ಗಳು
ಲೇಯರ್ಡ್ ಪ್ರೊಡಕ್ಷನ್ ಟೆಂಪ್ಲೇಟ್: "[ಪ್ಲಾಟ್ಫಾರ್ಮ್/ಭಾಷೆ] ಗಾಗಿ [ವೈಶಿಷ್ಟ್ಯ] ಅಭಿವೃದ್ಧಿಪಡಿಸಿ. ಕ್ರಮದಲ್ಲಿ ಉತ್ಪಾದಿಸಿ:1) ಡೇಟಾ ಮಾದರಿ (ಡೇಟಾ ವರ್ಗ/ಸ್ಟ್ರಕ್ಟ್)2) ನೆಟ್ವರ್ಕ್ ಅಥವಾ ಡೇಟಾ ಮೂಲ ಲೇಯರ್3) ರೆಪೊಸಿಟರಿ4) ವ್ಯೂಮಾಡೆಲ್ (ಸ್ಟೇಟ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್)5) ಸ್ಕ್ರೀನ್ (ಯುಐ)ಪ್ರತಿ ಲೇಯರ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ರಫ್ತು ಮಾಡಿ, ಅವುಗಳ ನಡುವೆ ಏಕೀಕರಣವನ್ನು ಸೇರಿಸಬೇಡಿ."
ಭಾಷೆಯ ನಿರ್ದಿಷ್ಟ ಭದ್ರತಾ ಟೆಂಪ್ಲೇಟ್ (ಕೋಟ್ಲಿನ್):"ಈ ಕೋಟ್ಲಿನ್ ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ:- !! ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್-ಪ್ರಕಾರದ ಬಳಕೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ- ಕೊರೂಟಿನ್ ಸ್ಕೋಪ್ ಮತ್ತು ರವಾನೆದಾರರ ಆಯ್ಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿ- ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವ ಕರೆಗಳು ಇವೆಯೇ?[ಕೋಡ್]"
ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ ಭದ್ರತಾ ಟೆಂಪ್ಲೇಟ್ (ಸ್ವಿಫ್ಟ್): "ಈ ಸ್ವಿಫ್ಟ್ ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ:- ಮುಚ್ಚುವಿಕೆಗಳಲ್ಲಿ ಚಕ್ರವನ್ನು ಉಳಿಸಿಕೊಳ್ಳುವ ಅಪಾಯ (ದುರ್ಬಲ/ಒಡೆತನದ ಸ್ವಯಂ)- ಐಚ್ಛಿಕ ಬಲದ ಬಳಕೆ-ಬಿಚ್ಚಿ (!)- ಮುಖ್ಯ ಥ್ರೆಡ್ [ಕೋಡ್] ನಿಂದ ಹೊರಕ್ಕೆ ಸರಿಸುವ ಭಾರೀ ಕೆಲಸ"
ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ನಿಯಂತ್ರಣ ಟೆಂಪ್ಲೇಟ್: "ಐಒಎಸ್ ಮತ್ತು ಆಂಡ್ರಾಯ್ಡ್ ಎರಡರಲ್ಲೂ ಈ [ಫ್ಲಟರ್/ರಿಯಾಕ್ಟ್ ನೇಟಿವ್] ವೈಶಿಷ್ಟ್ಯಕ್ಕೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಅನುಮತಿಗಳು, ಕಾನ್ಫಿಗರೇಶನ್ಗಳು ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟ ಕೋಡ್ ಅನ್ನು ಪಟ್ಟಿ ಮಾಡಿ. ಪ್ರತ್ಯೇಕ Info.plist ಮತ್ತು AndroidManifest.xml ನಮೂದುಗಳನ್ನು ಒದಗಿಸಿ."
ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳು
- ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಹೇರದೆ ಕೋಡ್ ಕೇಳಲಾಗುತ್ತಿದೆ. ಫಲಿತಾಂಶ: ಎಲ್ಲವನ್ನೂ ಪರದೆಯ ಮೇಲೆ ಕ್ರ್ಯಾಮ್ ಮಾಡುವ ಪರೀಕ್ಷಿಸಲಾಗದ ರಚನೆ.
- ಏಕಕಾಲೀನ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸದೆ ನಂಬುವುದು. ಮುಖ್ಯ ಥ್ರೆಡ್ ಬ್ಲಾಕ್ಗಳು ಮತ್ತು ತಪ್ಪಾದ ಸ್ಕೋಪ್ ಕ್ರ್ಯಾಶ್ಗಳ ಸಾಮಾನ್ಯ ಕಾರಣಗಳಾಗಿವೆ.
- ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಕಡೆಗಣಿಸಲಾಗುತ್ತಿದೆ. ವಿಶೇಷವಾಗಿ ಐಒಎಸ್ ಮುಚ್ಚುವಿಕೆಗಳಲ್ಲಿ ಸೋರಿಕೆಯಾಗುತ್ತದೆ; ಪ್ರೊಫೈಲ್ ತೆಗೆದುಕೊಳ್ಳದೆ ಅದು ಗಮನಿಸುವುದಿಲ್ಲ.
- ವೇದಿಕೆಯ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡುವುದು. ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಪರಿಕರಗಳಲ್ಲಿ, ಅನುಮತಿಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಎರಡು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಪ್ರತ್ಯೇಕವಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ.
- ಲೈಬ್ರರಿ ಆವೃತ್ತಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತಿಲ್ಲ. AI ಬಳಕೆಯಲ್ಲಿಲ್ಲದ Retrofit/Alamofire API ಅನ್ನು ಸೂಚಿಸಬಹುದು; ಅಧಿಕೃತ ದಾಖಲೆಯೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿ.
- ಒಂದೇ ದೈತ್ಯ ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲಾಗುತ್ತಿದೆ. ನಿರ್ವಹಿಸಲು ಮತ್ತು ಪರಿಶೀಲಿಸಲು ಅಸಾಧ್ಯ; ಪದರಗಳನ್ನು ಕೇಳಿ.
ಸಾರಾಂಶದಲ್ಲಿ
ನೀವು ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ AI ನೊಂದಿಗೆ ಕೋಡ್ ಉತ್ಪಾದನೆಯು ಶಕ್ತಿಯುತವಾಗಿರುತ್ತದೆ. ಮೊದಲು MVVM ನಂತಹ ರಚನೆಯನ್ನು ಹೇರಿ, ನಂತರ ಪದರದ ಮೂಲಕ ಮತ್ತು ಸಣ್ಣ ತುಂಡುಗಳಲ್ಲಿ ವಿನಂತಿಸಿ, ಪ್ರತಿ ತುಣುಕನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಪರೀಕ್ಷಿಸಿ. ಕೋಟ್ಲಿನ್ನಲ್ಲಿ ಶೂನ್ಯ ಸುರಕ್ಷತೆ ಮತ್ತು ಕೊರೂಟಿನ್, ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ ಐಚ್ಛಿಕ ಮತ್ತು ಮೆಮೊರಿ ಲೂಪ್ಗಳಿಗೆ ವಿಶೇಷ ಗಮನ ಬೇಕು. ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಪರಿಕರಗಳಲ್ಲಿ, ಪ್ರತಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗೆ ಅನುಮತಿಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್ ಭಾಷೆ, ಆವೃತ್ತಿ, ವಾಸ್ತುಶಿಲ್ಪ ಮತ್ತು ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ ಭದ್ರತಾ ನಿಯಮಗಳನ್ನು ಮುಂದೆ ಹೇಳುತ್ತದೆ; ಇದು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಸಾಮಾನ್ಯವಾದ ಕುಸಿತ ಮತ್ತು ಸೋರಿಕೆ ದೋಷಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯ
ಪಟ್ಟಿಯ ಪರದೆಗಾಗಿ (ಉದಾ. "ಸಂಪರ್ಕ ಪಟ್ಟಿ"), ನಿಮ್ಮ ಆಯ್ಕೆಯ ವೇದಿಕೆಯಲ್ಲಿ (ಕೋಟ್ಲಿನ್ ಅಥವಾ ಸ್ವಿಫ್ಟ್) "ಸಂಯೋಜಕ ಉತ್ಪಾದನಾ ಟೆಂಪ್ಲೇಟ್" ಅನ್ನು ಬಳಸಿಕೊಂಡು AI ನಿಂದ ಕೋಡ್ ಅನ್ನು ವಿನಂತಿಸಿ. ರಚಿಸಲಾದ ಕೋಡ್ ಅನ್ನು ಪ್ರಾಜೆಕ್ಟ್ಗೆ ಸೇರಿಸಿ, ಅದನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಈ ಎರಡು ಚೆಕ್ಗಳನ್ನು ಮಾಡಿ: (1) ಮುಖ್ಯ ಥ್ರೆಡ್ನಲ್ಲಿ ನೆಟ್ವರ್ಕ್/ದೀರ್ಘ ಪ್ರಕ್ರಿಯೆ ಚಾಲನೆಯಲ್ಲಿದೆ, (2) ಶೂನ್ಯ/ಐಚ್ಛಿಕ ಸುರಕ್ಷತೆ ಸರಿಯಾಗಿದೆಯೇ? ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ ಭದ್ರತಾ ಟೆಂಪ್ಲೇಟ್ನೊಂದಿಗೆ ನೀವು ಕಂಡುಕೊಳ್ಳುವ ಸಮಸ್ಯೆಯನ್ನು AI ಸರಿಪಡಿಸಿ.
ಪರಿಶೀಲನಾಪಟ್ಟಿ
- [ ] ಕೋಡ್ ಅನ್ನು ವಿನಂತಿಸುವ ಮೊದಲು ನಾನು ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು (MVVM ಇತ್ಯಾದಿ) ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದೇನೆ
- [ ] ನಾನು ಅದನ್ನು ಪದರದಿಂದ ಪದರವಾಗಿ, ಸಣ್ಣ ತುಂಡುಗಳಲ್ಲಿ ಬಯಸುತ್ತೇನೆ
- [ ] ನಾನು ಏಕಕಾಲೀನ ಕೋಡ್ ಮುಖ್ಯ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವುದಿಲ್ಲ ಎಂದು ಪರೀಕ್ಷಿಸಿದೆ
- [ ] ನಾನು ಶೂನ್ಯ/ಐಚ್ಛಿಕ ಸುರಕ್ಷತೆ ಮತ್ತು ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ
- [ ] ನಾನು ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಯೋಜನೆಯಲ್ಲಿ ಎರಡು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳ ಅನುಮತಿಗಳು/ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಿದ್ದೇನೆ
- [ ] ನಾನು ಅಧಿಕೃತ ದಾಖಲೆಗಳಿಂದ ಲೈಬ್ರರಿ ಆವೃತ್ತಿಗಳು ಮತ್ತು API ಸಹಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ