ਲਾਭ:
- ਆਰਕੀਟੈਕਚਰ ਜਿਵੇਂ ਕਿ MVVM ਲਗਾ ਕੇ ਅਤੇ ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਜਨਰੇਟ ਕੋਡ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਛੋਟੇ ਟੁਕੜਿਆਂ ਵਿੱਚ ਲੇਅਰ ਦਰ ਪਰਤ ਦੀ ਬੇਨਤੀ ਕਰਕੇ ਆਸਾਨ-ਸੰਭਾਲ ਅਤੇ ਟੈਸਟਯੋਗ ਕੋਡ ਪ੍ਰਾਪਤ ਕਰਨਾ।
- ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਜਾਲਾਂ ਨੂੰ ਪਛਾਣਨ ਦੀ ਸਮਰੱਥਾ ਜਿਵੇਂ ਕਿ ਕੋਟਲਿਨ ਵਿੱਚ ਨਲ ਸੁਰੱਖਿਆ ਅਤੇ ਕੋਰੋਟੀਨ, ਸਵਿਫਟ ਵਿੱਚ ਵਿਕਲਪਿਕ ਅਤੇ ਮੈਮੋਰੀ ਲੂਪਸ, ਅਤੇ ਉਹਨਾਂ ਦੇ ਵਿਰੁੱਧ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰੋ।
- ਕਰਾਸ-ਪਲੇਟਫਾਰਮ (ਫਲਟਰ, ਰੀਐਕਟ ਨੇਟਿਵ) ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਹਰੇਕ ਪਲੇਟਫਾਰਮ ਲਈ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਇਜਾਜ਼ਤਾਂ ਅਤੇ ਸੰਰਚਨਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
ਮੋਬਾਈਲ ਵਿਕਾਸ ਦਾ ਦਿਲ ਕੋਡ ਹੈ, ਅਤੇ ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ AI ਤੋਂ ਸਭ ਤੋਂ ਠੋਸ ਲਾਭ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਪਰ ਵਾਕ "ਏਆਈ ਨੂੰ ਮੇਰੇ ਲਈ ਕੋਡ ਲਿਖਣ ਦਿਓ" ਆਪਣੇ ਆਪ ਵਿੱਚ ਇੱਕ ਰਣਨੀਤੀ ਨਹੀਂ ਹੈ. ਚੰਗੀ ਕੋਡ ਪੀੜ੍ਹੀ; ਇਸ ਲਈ ਸਹੀ ਭਾਸ਼ਾ, ਸਹੀ ਆਰਕੀਟੈਕਚਰ, ਸਹੀ ਸੀਮਾਵਾਂ ਅਤੇ ਸਹੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਜੋੜਨ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਯੂਨਿਟ ਵਿੱਚ, ਅਸੀਂ ਸਿੱਖਾਂਗੇ ਕਿ ਸਵਿਫਟ, ਆਈਓਐਸ ਦੀ ਭਾਸ਼ਾ, ਕੋਟਲਿਨ, ਐਂਡਰੌਇਡ ਦੀ ਭਾਸ਼ਾ, ਅਤੇ ਇੱਕ ਕੋਡ ਬੇਸ ਦੇ ਨਾਲ ਦੋ ਪਲੇਟਫਾਰਮਾਂ 'ਤੇ ਚੱਲਣ ਵਾਲੇ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਟੂਲਸ ਲਈ AI ਨੂੰ ਕੁਸ਼ਲਤਾ ਅਤੇ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ। ਟੀਚਾ ਏਆਈ ਨੂੰ "ਕੋਡ ਆਟੋਮੇਟਨ" ਵਜੋਂ ਨਹੀਂ ਬਲਕਿ ਇੱਕ ਐਕਸਲੇਟਰ ਦੇ ਤੌਰ 'ਤੇ ਸਥਾਪਤ ਕਰਨਾ ਹੈ ਜਿਸਦਾ ਆਰਕੀਟੈਕਚਰ ਤੁਸੀਂ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹੋ।
ਆਰਕੀਟੈਕਚਰ ਪਹਿਲਾਂ, ਕੋਡ ਦੂਜਾ
ਸਭ ਤੋਂ ਆਮ ਗਲਤੀ ਹੈ AI ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਆਰਕੀਟੈਕਚਰਲ ਪਲਾਨ ਦੇ ਸਿੱਧੇ ਕੋਡ ਲਈ ਪੁੱਛਣਾ। ਇਹ ਨੀਂਹ ਰੱਖੇ ਬਿਨਾਂ ਕੰਧ ਬਣਾਉਣ ਵਾਂਗ ਹੈ। ਮੋਬਾਈਲ 'ਤੇ ਸਭ ਤੋਂ ਆਮ ਆਰਕੀਟੈਕਚਰ ਹੈ MVVM (ਮਾਡਲ-ਵਿਊ-ਵਿਊ ਮਾਡਲ — ਇੱਕ ਡਿਜ਼ਾਈਨ ਪੈਟਰਨ ਜੋ ਡੇਟਾ, ਡਿਸਪਲੇ ਅਤੇ ਡਿਸਪਲੇ ਦੇ ਤਰਕ ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ)। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਦ੍ਰਿਸ਼ ਸਿਰਫ਼ ਇੱਕ ਦ੍ਰਿਸ਼ ਹੈ, ਤਰਕ ਅਤੇ ਸਥਿਤੀ ਵਿਊ ਮਾਡਲ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ, ਅਤੇ ਡੇਟਾ ਮਾਡਲ ਲੇਅਰ ਵਿੱਚ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਸ਼ੁਰੂ ਤੋਂ ਹੀ AI 'ਤੇ ਇਸ ਵਿਛੋੜੇ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਇੱਕ ਅਸਥਿਰ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਕਰਨ ਲਈ ਔਖਾ ਢਾਂਚਾ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੋ ਸਕ੍ਰੀਨ ਕੋਡ ਵਿੱਚ ਸਾਰੇ ਤਰਕ ਨੂੰ ਰੋਕ ਦਿੰਦਾ ਹੈ।
ਇੱਕ ਸਿਹਤਮੰਦ ਕੋਡ ਪੀੜ੍ਹੀ ਦਾ ਪ੍ਰਵਾਹ ਕਦਮ ਦਰ ਕਦਮ:
- ਪ੍ਰਸੰਗ ਦਿਓ. ਪਲੇਟਫਾਰਮ, ਭਾਸ਼ਾ, ਸੰਸਕਰਣ, ਆਰਕੀਟੈਕਚਰ, ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ।
- ਲੇਅਰਾਂ ਲਈ ਪੁੱਛੋ. ਪਹਿਲਾਂ ਡਾਟਾ ਮਾਡਲ, ਫਿਰ ਨੈੱਟਵਰਕ/ਡੇਟਾ ਲੇਅਰ, ਫਿਰ ਵਿਊ ਮਾਡਲ, ਸਕ੍ਰੀਨ 'ਤੇ ਆਖ਼ਰੀ।
- ਛੋਟੇ ਟੁਕੜਿਆਂ ਲਈ ਪੁੱਛੋ. ਇੱਕ ਸਕ੍ਰੀਨ ਜਾਂ ਇੱਕ ਫੰਕਸ਼ਨ; ਇਹ ਇੱਕ ਵਿਸ਼ਾਲ 500-ਲਾਈਨ ਫਾਈਲ ਨਹੀਂ ਹੈ।
- ਹਰੇਕ ਟੁਕੜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। ਬਣਾਓ, ਟੈਸਟ ਕਰੋ, ਏਕੀਕ੍ਰਿਤ ਕਰੋ; ਫਿਰ ਅਗਲੇ ਟਰੈਕ 'ਤੇ ਜਾਓ।
- ਇੱਕ ਰੀਫੈਕਟਰ ਦੀ ਬੇਨਤੀ ਕਰੋ (ਕੋਡ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ)। ਕੰਮ ਕਰਨ ਵਾਲੇ ਕੋਡ ਤੋਂ ਬਾਅਦ "ਇਸ ਨੂੰ ਵਧੇਰੇ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਜਾਂਚਯੋਗ ਬਣਾਓ" ਕਦਮ।
ਸੰਕੇਤ: AI ਨੂੰ ਦੱਸੋ "ਕੋਡ ਨੂੰ MVVM ਦੇ ਅਨੁਸਾਰ ਵੰਡੋ: ਕਿਹੜਾ ਭਾਗ ਵਿਊ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਕਿਹੜਾ ViewModel ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਕਿਹੜਾ ਮਾਡਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਿਓ"। ਇਹ ਇੱਕ ਵਾਕ ਨਾਟਕੀ ਰੂਪ ਵਿੱਚ ਤਿਆਰ ਕੋਡ ਦੀ ਆਰਕੀਟੈਕਚਰਲ ਗੁਣਵੱਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ।
ਕੋਟਲਿਨ ਅਤੇ ਸਵਿਫਟ: ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਵਿਚਾਰ
Kotlin (Android) ਅਤੇ Swift (iOS) ਆਧੁਨਿਕ, ਸੁਰੱਖਿਅਤ ਭਾਸ਼ਾਵਾਂ ਹਨ, ਪਰ ਉਹਨਾਂ ਵਿੱਚ ਵੱਖੋ-ਵੱਖਰੇ ਨੁਕਸਾਨ ਹਨ। ਕੋਟਲਿਨ ਵਿੱਚ, ਨਲ ਸੁਰੱਖਿਆ (ਇਹ ਜਾਂਚ ਕਰਨਾ ਕਿ ਕੀ ਇੱਕ ਵੇਰੀਏਬਲ ਟਾਈਪ ਸਿਸਟਮ ਦੁਆਰਾ "ਨੱਲ" ਹੋ ਸਕਦਾ ਹੈ) ਕਈ ਵਾਰ AI ਦੁਆਰਾ ਢਿੱਲੀ ਟਾਈਪ ਕੀਤੀ ਜਾਂਦੀ ਹੈ; ਬੇਲੋੜੀ !! ਓਪਰੇਟਰ (ਉਹ ਚਿੰਨ੍ਹ ਜੋ ਕਰੈਸ਼ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ ਜੇਕਰ ਇਹ ਖਾਲੀ ਹੈ) ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਰੈਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਸਵਿਫਟ ਵਿੱਚ, ਵਿਕਲਪਿਕ ਪ੍ਰਬੰਧਨ ਅਤੇ ਧਾਰਨ ਚੱਕਰ ਮਹੱਤਵਪੂਰਨ ਹਨ; AI ਬੰਦ ਹੋਣ ਵਿੱਚ [ਕਮਜ਼ੋਰ ਸਵੈ] ਜੋੜਨਾ ਭੁੱਲ ਸਕਦਾ ਹੈ ਅਤੇ ਇਸ ਨਾਲ ਮੈਮੋਰੀ ਲੀਕ ਹੋ ਜਾਵੇਗੀ।
ਇਸ ਲਈ ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਭਾਸ਼ਾ ਚੁਣਦੇ ਹੋ, ਤਾਂ ਉਸੇ ਅਨੁਸਾਰ ਪ੍ਰੋਂਪਟ ਨੂੰ ਸੁਧਾਰੋ: ਜਿਵੇਂ ਕਿ "ਕੋਟਲਿਨ ਵਿੱਚ ਨਲ ਸੁਰੱਖਿਆ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖੋ, ਵਰਤੋਂ ਨਾ ਕਰੋ !!" ਜਾਂ "ਸਵਿਫਟ ਵਿੱਚ ਬੰਦ ਹੋਣ ਵਿੱਚ ਮਜ਼ਬੂਤ ਹਵਾਲਾ ਲੂਪਿੰਗ ਨੂੰ ਰੋਕੋ"।
ਸਾਵਧਾਨ: AI-ਨਿਰਮਿਤ ਅਸਿੰਕ੍ਰੋਨਸ ਕੋਡ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। Kotlin coroutines ਵਿੱਚ ਗਲਤ ਸਕੋਪ ਚੁਣਨਾ ਜਾਂ Swift ਵਿੱਚ async/await ਵਿੱਚ ਮੁੱਖ ਥ੍ਰੈਡ ਨੂੰ ਬਲੌਕ ਕਰਨਾ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਫ੍ਰੀਜ਼ ਕਰ ਦੇਵੇਗਾ। AI ਇਹ ਗਲਤੀਆਂ ਅਕਸਰ ਕਰਦਾ ਹੈ; ਬਿਨਾਂ ਜਾਂਚ ਕੀਤੇ ਇਸ 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ।
ਕ੍ਰਾਸ-ਪਲੇਟਫਾਰਮ ਵਿਕਾਸ: ਫਲਟਰ ਅਤੇ ਰੀਐਕਟ ਨੇਟਿਵ
ਉਹਨਾਂ ਲਈ ਜੋ ਇੱਕ ਸਿੰਗਲ ਕੋਡ ਅਧਾਰ ਦੇ ਨਾਲ iOS ਅਤੇ Android ਦੋਵਾਂ 'ਤੇ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹਨ, Flutter (Google ਦੀ ਡਾਰਟ ਭਾਸ਼ਾ-ਅਧਾਰਿਤ ਟੂਲਕਿੱਟ) ਅਤੇ React Native (Meta's JavaScript-ਅਧਾਰਿਤ ਹੱਲ) ਵੱਖਰੇ ਹਨ। AI ਇਹਨਾਂ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਵੀ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੈ, ਪਰ ਕਈ ਵਾਰ ਪਲੇਟਫਾਰਮ ਅੰਤਰਾਂ (ਇਜਾਜ਼ਤਾਂ, ਸਟੋਰ ਨਿਯਮ, ਡਿਵਾਈਸ-ਵਿਸ਼ੇਸ਼ ਵਿਵਹਾਰ) ਨੂੰ ਬਾਈਪਾਸ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਫਲਟਰ ਵਿੱਚ, ਆਈਓਐਸ ਅਤੇ ਐਂਡਰੌਇਡ 'ਤੇ ਵੱਖ-ਵੱਖ ਫਾਈਲਾਂ ਵਿੱਚ ਕੈਮਰਾ ਅਨੁਮਤੀ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ; AI ਸਿਰਫ਼ ਇੱਕ ਹੀ ਲਿਖ ਸਕਦਾ ਹੈ। ਕ੍ਰਾਸ-ਪਲੇਟਫਾਰਮ ਕੋਡ ਵਿੱਚ, ਇਹ ਕਹਿਣਾ ਜ਼ਰੂਰੀ ਹੈ ਕਿ "ਦੋਵੇਂ ਪਲੇਟਫਾਰਮਾਂ ਲਈ ਜ਼ਰੂਰੀ ਅਨੁਮਤੀਆਂ ਅਤੇ ਸੰਰਚਨਾ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਿਓ"।
ਚੋਣ ਸਾਰ:
ਪਹੁੰਚ
ਜਦੋਂ
AI ਨਾਲ ਧਿਆਨ
ਮੂਲ (ਕੋਟਲਿਨ/ਸਵਿਫਟ)
ਉੱਚਤਮ ਪ੍ਰਦਰਸ਼ਨ, ਡਿਵਾਈਸ-ਡੂੰਘੀ ਏਕੀਕਰਣ
ਹਰੇਕ ਪਲੇਟਫਾਰਮ ਦਾ ਵੱਖਰਾ ਕੋਡ ਹੁੰਦਾ ਹੈ; ਦੋ ਵਾਰ ਤਸਦੀਕ ਕਰੋ
ਝੜਪ
ਇੱਕ ਟੀਮ, ਤੇਜ਼, ਇਕਸਾਰ UI
ਪਲੇਟਫਾਰਮ-ਵਿਸ਼ੇਸ਼ ਅਨੁਮਤੀ/ਸੈਟਿੰਗਾਂ ਦੀ ਦਸਤੀ ਜਾਂਚ ਕਰੋ
ਨੇਟਿਵ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ
ਵੈੱਬ/ਜੇਐਸ ਟੀਮ ਉਪਲਬਧ ਹੈ
ਪੁੱਲ (ਦੇਸੀ ਪੁਲ) ਭਾਗਾਂ ਦੀ ਧਿਆਨ ਨਾਲ ਜਾਂਚ ਕਰੋ
ਤਿੰਨ ਛੋਟੇ ਕੇਸ
ਕੇਸ 1 - ਕੋਰੋਟੀਨ ਜਾਲ। ਇੱਕ ਐਂਡਰੌਇਡ ਟੀਮ ਨੂੰ ਇੱਕ ਫੰਕਸ਼ਨ ਮਿਲਿਆ ਜੋ AI ਤੋਂ ਉਤਪਾਦ ਸੂਚੀ ਖਿੱਚਦਾ ਹੈ। ਕੋਡ ਮੁੱਖ ਥ੍ਰੈਡ ਵਿੱਚ ਨੈੱਟਵਰਕ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਸੀ; ਸਮੱਸਿਆ ਟੈਸਟ ਡਿਵਾਈਸ 'ਤੇ ਦਿਖਾਈ ਨਹੀਂ ਦਿੱਤੀ, ਪਰ ਕਮਜ਼ੋਰ ਨੈਟਵਰਕ 'ਤੇ, ਐਪਲੀਕੇਸ਼ਨ 4 ਸਕਿੰਟਾਂ ਲਈ ਫ੍ਰੀਜ਼ ਹੋ ਗਈ ਅਤੇ ANR (ਐਪਲੀਕੇਸ਼ਨ ਨਾਟ ਰਿਸਪੌਂਡਿੰਗ) ਚੇਤਾਵਨੀ ਦਿੱਤੀ। ਇਹ ਉਦੋਂ ਫਿਕਸ ਕੀਤਾ ਗਿਆ ਸੀ ਜਦੋਂ AI ਨੂੰ "IO ਡਿਸਪੈਚਰ ਵਿੱਚ ਨੈੱਟਵਰਕ ਦਾ ਕੰਮ ਕਰਨ" ਲਈ ਕਿਹਾ ਗਿਆ ਸੀ. ਪਾਠ: ਸਮਰੂਪਤਾ ਹਮੇਸ਼ਾ ਨਿਯੰਤਰਿਤ ਹੁੰਦੀ ਹੈ।
ਕੇਸ 2 - ਮੈਮੋਰੀ ਲੀਕ। ਇੱਕ ਆਈਓਐਸ ਡਿਵੈਲਪਰ ਨੇ ਪਾਇਆ ਕਿ AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੀ ਸਕ੍ਰੀਨ ਨੂੰ 20 ਵਾਰ ਖੋਲ੍ਹਣ ਅਤੇ ਬੰਦ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਐਪ ਦੀ ਮੈਮੋਰੀ 40 MB ਤੋਂ 180 MB ਤੱਕ ਵਧ ਗਈ ਹੈ। ਕਾਰਨ ਇਹ ਸੀ ਕਿ ਬੰਦ ਵਿੱਚ ਇੱਕ ਗੁੰਮ [ਕਮਜ਼ੋਰ ਸਵੈ] ਦੇ ਕਾਰਨ ਵਿਊਕੰਟਰੋਲਰ ਨੂੰ ਮੈਮੋਰੀ ਤੋਂ ਸਾਫ਼ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਸੀ। ਐਕਸਕੋਡ ਦੇ ਮੈਮੋਰੀ ਗ੍ਰਾਫ ਨੇ ਜਾਲ ਦਾ ਖੁਲਾਸਾ ਕੀਤਾ। ਸਬਕ: ਮੂਲ ਵਿਕਾਸ ਵਿੱਚ ਮੈਮੋਰੀ ਪ੍ਰੋਫਾਈਲ ਲਾਜ਼ਮੀ ਹੈ।
ਕੇਸ 3 — ਪਲੇਟਫਾਰਮ ਅੰਤਰ। ਇੱਕ ਫਲਟਰ ਟੀਮ ਨੂੰ AI ਤੋਂ ਗੈਲਰੀ ਐਕਸੈਸ ਕੋਡ ਮਿਲਿਆ, ਇਹ Android 'ਤੇ ਕੰਮ ਕਰਦਾ ਸੀ ਪਰ iOS 'ਤੇ ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ। ਕਾਰਨ ਇਹ ਸੀ ਕਿ ਫੋਟੋ ਲਾਇਬ੍ਰੇਰੀ ਅਨੁਮਤੀ ਵੇਰਵਾ (NSPhotoLibraryUsageDescription) Info.plist ਫਾਈਲ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ; AI ਨੇ ਸਿਰਫ ਐਂਡਰਾਇਡ ਸਾਈਡ ਲਿਖਿਆ ਹੈ। ਇਹ 15 ਮਿੰਟ ਦਾ ਫਿਕਸ ਹੈ, ਪਰ ਜੇਕਰ ਇਹ ਫੜਿਆ ਨਾ ਗਿਆ ਹੁੰਦਾ ਤਾਂ ਇਹ ਸਟੋਰ ਅਸਵੀਕਾਰ ਹੋਣਾ ਸੀ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ: "ਕੋਟਲਿਨ ਕੋਡ ਲਿਖੋ ਜੋ API ਤੋਂ ਉਤਪਾਦਾਂ ਨੂੰ ਖਿੱਚਦਾ ਹੈ।"
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰੋਂਪਟ: "Android/Kotlin ਲਈ ਕੋਡ ਤਿਆਰ ਕਰੋ ਜੋ REST API ਤੋਂ ਉਤਪਾਦ ਸੂਚੀ ਖਿੱਚਦਾ ਹੈ।- ਰੀਟਰੋਫਿਟ ਨਾਲ ਨੈੱਟਵਰਕ ਲੇਅਰ, ਸਸਪੈਂਡ ਫੰਕਸ਼ਨ- Dispatchers.IO ਵਿੱਚ ਨੈੱਟਵਰਕ ਜੌਬ; ਬਲਾਕਿੰਗ ਮੁੱਖ ਥ੍ਰੈਡ- MVVM: ਰਿਪੋਜ਼ਟਰੀ -> ViewModel -> StateFlow ਦੇ ਨਾਲ UI ਸਟੇਟ- ਗਲਤੀ ਸਟੇਟਸ: ਕੋਈ ਨੈੱਟਵਰਕ ਨਹੀਂ, ਵੱਖਰਾ ਸੀਲਬੰਦ, ਸੁਰੱਖਿਆ ਕਲਾਸਿੰਗ Uxx4, Uxx4 ਸੁਰੱਖਿਆ !! ਪਰਤਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਫਾਈਲਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ, 1 ਵਾਕ ਹਰੇਕ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ।"
ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟਿੰਗ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਨੂੰ ਪਿਛਲੇ ਕੇਸਾਂ ਦੇ ਜਾਲ ਵਿੱਚ ਫਸਣ ਤੋਂ ਰੋਕਦੀ ਹੈ।
ਨਕਲ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟਸ
ਲੇਅਰਡ ਪ੍ਰੋਡਕਸ਼ਨ ਟੈਮਪਲੇਟ: "[ਪਲੇਟਫਾਰਮ/ਭਾਸ਼ਾ] ਲਈ [ਵਿਸ਼ੇਸ਼ਤਾ] ਵਿਕਸਿਤ ਕਰੋ। ਕ੍ਰਮ ਵਿੱਚ ਤਿਆਰ ਕਰੋ: 1) ਡੇਟਾ ਮਾਡਲ (ਡੇਟਾ ਕਲਾਸ/ਸਟ੍ਰਕਚਰ) 2) ਨੈਟਵਰਕ ਜਾਂ ਡੇਟਾ ਸਰੋਤ ਲੇਅਰ3) ਰਿਪੋਜ਼ਟਰੀ 4) ਵਿਊ ਮਾਡਲ (ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ) 5) ਸਕ੍ਰੀਨ (UI) ਹਰੇਕ ਲੇਅਰ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਐਕਸਪੋਰਟ ਕਰੋ, ਉਹਨਾਂ ਵਿਚਕਾਰ ਇੱਕ ਏਕੀਕਰਣ ਨੋਟ ਜੋੜੋ।"
ਭਾਸ਼ਾ ਵਿਸ਼ੇਸ਼ ਸੁਰੱਖਿਆ ਟੈਂਪਲੇਟ (ਕੋਟਲਿਨ): "ਇਸ ਕੋਟਲਿਨ ਕੋਡ ਦੀ ਸਮੀਖਿਆ ਕਰੋ:- ਦੀ ਵਰਤੋਂ ਸਾਫ਼ ਕਰੋ !! ਅਤੇ ਪਲੇਟਫਾਰਮ-ਕਿਸਮ- ਕੋਰੂਟੀਨ ਸਕੋਪ ਅਤੇ ਡਿਸਪੈਚਰ ਦੀ ਚੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ- ਕੀ ਮੁੱਖ ਥ੍ਰੈਡ ਨੂੰ ਬਲੌਕ ਕਰਨ ਵਾਲੀਆਂ ਕਾਲਾਂ ਹਨ?[ਕੋਡ]"
ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਸੁਰੱਖਿਆ ਟੈਂਪਲੇਟ (ਸਵਿਫਟ): "ਇਸ ਸਵਿਫਟ ਕੋਡ ਦੀ ਸਮੀਖਿਆ ਕਰੋ:- ਬੰਦ ਹੋਣ ਵਿੱਚ ਚੱਕਰ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਦਾ ਜੋਖਮ (ਕਮਜ਼ੋਰ/ਅਣਜਾਣ ਖੁਦ)- ਵਿਕਲਪਿਕ ਫੋਰਸ ਦੀ ਵਰਤੋਂ-ਅਨਵਰੈਪ (!)- ਭਾਰੀ ਕੰਮ ਜਿਸ ਨੂੰ ਮੁੱਖ ਥ੍ਰੈੱਡ [ਕੋਡ] ਤੋਂ ਬਾਹਰ ਜਾਣ ਦੀ ਲੋੜ ਹੈ"
ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਕੰਟਰੋਲ ਟੈਮਪਲੇਟ: "ਆਈਓਐਸ ਅਤੇ ਐਂਡਰੌਇਡ ਦੋਵਾਂ 'ਤੇ ਇਸ [ਫਲਟਰ/ਰੀਐਕਟ ਨੇਟਿਵ] ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸਾਰੀਆਂ ਇਜਾਜ਼ਤਾਂ, ਸੰਰਚਨਾਵਾਂ, ਅਤੇ ਪਲੇਟਫਾਰਮ-ਵਿਸ਼ੇਸ਼ ਕੋਡ ਦੀ ਸੂਚੀ ਬਣਾਓ। ਵੱਖਰੀਆਂ Info.plist ਅਤੇ AndroidManifest.xml ਐਂਟਰੀਆਂ ਪ੍ਰਦਾਨ ਕਰੋ।"
ਆਮ ਗਲਤੀਆਂ
- ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਲਾਗੂ ਕੀਤੇ ਬਿਨਾਂ ਕੋਡ ਲਈ ਪੁੱਛਣਾ. ਨਤੀਜਾ: ਅਸਥਿਰ ਢਾਂਚਾ ਜੋ ਸਕ੍ਰੀਨ 'ਤੇ ਹਰ ਚੀਜ਼ ਨੂੰ ਕ੍ਰੈਮ ਕਰਦਾ ਹੈ।
- ਸਮਕਾਲੀ ਕੋਡ ਦੀ ਜਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਭਰੋਸਾ ਕਰਨਾ। ਮੁੱਖ ਥਰਿੱਡ ਬਲਾਕ ਅਤੇ ਗਲਤ ਦਾਇਰੇ ਕਰੈਸ਼ ਦੇ ਸਭ ਤੋਂ ਆਮ ਕਾਰਨ ਹਨ।
- ਮੈਮੋਰੀ ਪ੍ਰਬੰਧਨ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨਾ। ਖਾਸ ਤੌਰ 'ਤੇ ਆਈਓਐਸ ਬੰਦ ਹੋਣ ਵਿੱਚ ਲੀਕ; ਪ੍ਰੋਫਾਈਲ ਲਏ ਬਿਨਾਂ ਧਿਆਨ ਨਹੀਂ ਹੁੰਦਾ.
- ਪਲੇਟਫਾਰਮ ਅੰਤਰਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨਾ। ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਟੂਲਸ ਵਿੱਚ, ਦੋ ਪਲੇਟਫਾਰਮਾਂ 'ਤੇ ਅਨੁਮਤੀਆਂ ਅਤੇ ਸੰਰਚਨਾ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਲਿਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
- ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। AI ਪੁਰਾਣੇ Retrofit/Alamofire API ਦਾ ਸੁਝਾਅ ਦੇ ਸਕਦਾ ਹੈ; ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ ਨਾਲ ਜਾਂਚ ਕਰੋ।
- ਇੱਕ ਸਿੰਗਲ ਵਿਸ਼ਾਲ ਫਾਈਲ ਤਿਆਰ ਕਰਨਾ. ਕਾਇਮ ਰੱਖਣ ਅਤੇ ਤਸਦੀਕ ਕਰਨ ਲਈ ਅਸੰਭਵ; ਲੇਅਰਾਂ ਲਈ ਪੁੱਛੋ.
ਸਾਰੰਸ਼ ਵਿੱਚ
ਜਦੋਂ ਤੁਸੀਂ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹੋ ਤਾਂ AI ਨਾਲ ਕੋਡ ਬਣਾਉਣਾ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੁੰਦਾ ਹੈ। ਪਹਿਲਾਂ MVVM ਵਰਗਾ ਢਾਂਚਾ ਲਗਾਓ, ਫਿਰ ਲੇਅਰ ਦਰ ਅਤੇ ਛੋਟੇ ਟੁਕੜਿਆਂ ਵਿੱਚ ਬੇਨਤੀ ਕਰੋ, ਹਰੇਕ ਟੁਕੜੇ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ ਅਤੇ ਟੈਸਟ ਕਰੋ। ਕੋਟਲਿਨ ਵਿੱਚ ਨਲ ਸੁਰੱਖਿਆ ਅਤੇ ਕੋਰੋਟੀਨ, ਸਵਿਫਟ ਵਿੱਚ ਵਿਕਲਪਿਕ ਅਤੇ ਮੈਮੋਰੀ ਲੂਪਸ ਵਿਸ਼ੇਸ਼ ਧਿਆਨ ਦੀ ਲੋੜ ਹੈ। ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਟੂਲਸ ਵਿੱਚ, ਅਨੁਮਤੀਆਂ ਅਤੇ ਸੰਰਚਨਾ ਹਰੇਕ ਪਲੇਟਫਾਰਮ ਲਈ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਲਿਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ ਭਾਸ਼ਾ, ਸੰਸਕਰਣ, ਆਰਕੀਟੈਕਚਰ, ਅਤੇ ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਸੁਰੱਖਿਆ ਨਿਯਮਾਂ ਨੂੰ ਸਾਹਮਣੇ ਦੱਸਦਾ ਹੈ; ਇਹ ਉਤਪਾਦਨ ਵਿੱਚ ਸਭ ਤੋਂ ਆਮ ਕਰੈਸ਼ ਅਤੇ ਲੀਕ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਸੂਚੀ ਸਕ੍ਰੀਨ ਲਈ (ਉਦਾਹਰਨ ਲਈ, "ਸੰਪਰਕ ਸੂਚੀ"), ਆਪਣੀ ਪਸੰਦ ਦੇ ਪਲੇਟਫਾਰਮ (ਕੋਟਲਿਨ ਜਾਂ ਸਵਿਫਟ) ਵਿੱਚ "ਐਡੀਟਿਵ ਨਿਰਮਾਣ ਟੈਂਪਲੇਟ" ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ AI ਤੋਂ ਕੋਡ ਦੀ ਬੇਨਤੀ ਕਰੋ। ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਨੂੰ ਜੋੜੋ, ਇਸਨੂੰ ਕੰਪਾਇਲ ਕਰੋ, ਅਤੇ ਇਹ ਦੋ ਜਾਂਚਾਂ ਕਰੋ: (1) ਕੀ ਨੈੱਟਵਰਕ/ਲੰਬੀ ਪ੍ਰਕਿਰਿਆ ਮੁੱਖ ਥ੍ਰੈਡ 'ਤੇ ਚੱਲ ਰਹੀ ਹੈ, (2) ਕੀ ਨਲ/ਵਿਕਲਪਿਕ ਸੁਰੱਖਿਆ ਸਹੀ ਹੈ? ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਸੁਰੱਖਿਆ ਟੈਮਪਲੇਟ ਨਾਲ ਤੁਹਾਨੂੰ ਲੱਭੀ ਗਈ ਸਮੱਸਿਆ ਨੂੰ AI ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕਹੋ।
ਚੈੱਕਲਿਸਟ
- [ ] ਮੈਂ ਕੋਡ ਦੀ ਬੇਨਤੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਰਕੀਟੈਕਚਰ (MVVM ਆਦਿ) ਨਿਰਧਾਰਤ ਕੀਤਾ ਹੈ
- [ ] ਮੈਂ ਇਸਨੂੰ ਛੋਟੇ ਟੁਕੜਿਆਂ ਵਿੱਚ ਪਰਤ ਦਰ ਪਰਤ ਚਾਹੁੰਦਾ ਸੀ
- [ ] ਮੈਂ ਟੈਸਟ ਕੀਤਾ ਹੈ ਕਿ ਸਮਕਾਲੀ ਕੋਡ ਮੁੱਖ ਥ੍ਰੈਡ ਨੂੰ ਬਲੌਕ ਨਹੀਂ ਕਰਦਾ ਹੈ
- [ ] ਮੈਂ ਨਲ/ਵਿਕਲਪਿਕ ਸੁਰੱਖਿਆ ਅਤੇ ਮੈਮੋਰੀ ਪ੍ਰਬੰਧਨ ਦੀ ਜਾਂਚ ਕੀਤੀ
- [ ] ਮੈਂ ਇੱਕ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦੋ ਪਲੇਟਫਾਰਮਾਂ ਦੀਆਂ ਅਨੁਮਤੀਆਂ/ਸੈਟਿੰਗਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਹੈ
- [ ] ਮੈਂ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣਾਂ ਅਤੇ API ਹਸਤਾਖਰਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਹੈ