ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਦੀ ਪ੍ਰਯੋਗਿਕ ਤੁਲਨਾ: ਕਿੱਥੇ ਗਤੀ, ਜੋਖਮ ਪ੍ਰਬੰਧਨ, ਅਤੇ ਲੰਬੇ ਸਮੇਂ ਦੀ ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਕਿੱਤੇ ਜਿੱਤਦੇ ਹਨ।

“ਵਾਈਬ ਕੋਡਿੰਗ” ਉਹ ਸੋਫਟਵੇਅਰ ਬਣਾਉਣ ਦੀ ਸ਼ੈਲੀ ਹੈ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਤੇਜ਼ੀ ਨਾਲ ਅੱਗੇ ਵਧਦੇ ਹੋ, ਬਹੁਤ ਹੱਦ ਤੱਕ AI-ਜਨਰੇਟਡ ਕੋਡ ਅਤੇ ਆਪਣੇ ਇਸਤਿਹਾਰ ਤੇ ਨਿਰਭਰ ਰਹਿ ਕੇ ਜੋ “ਸਹੀ ਲੱਗਦਾ” ਉਸ ਨੂੰ ਅਪਨਾਉਂਦੇ ਹੋ। ਤੁਸੀਂ ਚਾਹੁੰਦਾ ਨਤੀਜਾ ਵੇਰਵਾ ਕਰਦੇ ਹੋ, ਸੁਝਾਅ ਸਵੀਕਾਰ ਕਰਦੇ ਹੋ, ਉਸਨੂੰ ਚਲਾਉਂਦੇ ਹੋ, ਪ੍ਰੰਪਟ ਸਧਾਰਦੇ ਹੋ, ਅਤੇ ਦੁਹਰਾਂਦੇ ਹੋ। ਫੀਡਬੈਕ ਲੂਪ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਹੁੰਦਾ ਹੈ: ਚਲਾਉ, ਵੇਖ ਕੀ ਹੋਇਆ, ਸੋਧ ਕਰ। ਇਹ ਪਹਿਲਾਂ ਤੋਂ ਯੋਜਨਾ ਬਣਾਉਣ ਨਾਲ ਘੱਟ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ ਅਤੇ ਤੇਜ਼ੀ ਨਾਲ ਦੁਹਰਾਈ ਤੱਕ ਜ਼ਿਆਦਾ ਧਿਆਨ ਦਿੰਦਾ ਹੈ ਜਦ ਤੱਕ ਪ੍ਰੋਡਕਟ ਠੀਕ ਨਹੀਂ ਲੱਗਦਾ।
ਪਾਰੰਪਰਿਕ ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਿੰਗ ਇਸਦੇ ਉਲਟ ਵਿੱਚ ਜ਼ੋਰ ਦਿੰਦੀ ਹੈ: ਅਣਚਾਨਕੀਆਂ ਘਟਾਉਣ ਲਈ ਅਮਲ ਦੌਰਾਨ ਅਤੇ ਉਸ ਤੋਂ ਪਹਿਲਾਂ ਧਾਂਚਾ ਜੋੜਨਾ। ਜਿਸ ਵਿੱਚ ਆਮ ਤੌਰ 'ਤੇ ਲੋੜਾਂ ਸਪਸ਼ਟ ਕਰਨਾ, ਡਿਜ਼ਾਈਨ ਸਕੈਚ ਕਰਨਾ, ਕੰਮ ਨੂੰ ਟਿਕਟਾਂ ਵਿੱਚ ਵੰਡਣਾ, ਟੈਸਟ ਲਿਖਣਾ, ਕੋਡ ਰਿਵਿਊ ਕਰਨਾ ਅਤੇ ਫੈਸਲੇ ਦਸਤਾਵੇਜ਼ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਲੂਪ ਫਿਰ ਵੀ ਇਟਰੇਟਿਵ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਸਾਂਝੇ ਮਿਆਰ ਅਤੇ ਚੈੱਕਾਂ ਨਾਲ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਿਤ ਹੁੰਦਾ ਹੈ ਜੋ ਗਲਤੀਆਂ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਫੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਨ।
ਇਹ ਲੇਖ ਦੋਹਾਂ ਪਹੁੰਚਾਂ ਨੂੰ ਤਿੰਨ ਪ੍ਰਯੋਗਿਕ ਪੱਖਾਂ ਵਿੱਚ ਤੁਲਨਾ ਕਰਦਾ ਹੈ:
ਇਹ ਕਿਸੇ ਇੱਕ “ਸਹੀ” ਤਰੀਕੇ ਲਈ ਧਾਰਮਿਕ ਬਹਿਸ ਨਹੀਂ ਹੈ। ਵਾਈਬ ਕੋਡਿੰਗ ਪ੍ਰੋਟੋਟਾਈਪ, ਅੰਦਰੂਨੀ ਟੂਲ ਜਾਂ ਸ਼ੁਰੂਆਤੀ ਪ੍ਰੋਡਕਟ ਖੋਜ ਲਈ ਸਮਝਦਾਰ ਚੋਣ ਹੋ ਸਕਦੀ ਹੈ। ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਉਹ ਜਰੂਰੀ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਆਉਟੇਜ਼, ਸੁਰੱਖਿਆ ਘਟਨਾਵਾਂ ਜਾਂ ਅਨੁਕੂਲਤਾ ਦੀਆਂ ਗਲਤੀਆਂ ਦੇ ਅਸਲ ਨਤੀਜੇ ਹੋਣ।
ਇਹ ਕੋਈ AI ਚਮਤਕਾਰ ਲੇਖ ਵੀ ਨਹੀਂ ਹੈ। AI ਦੋਹਾਂ ਸ਼ੈਲੀਆਂ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦਾ ਹੈ: ਵਾਈਬ ਕੋਡਿੰਗ AI ਨੂੰ ਮੁੱਖ ਚਲਾਵਟ ਵਜੋਂ ਵਰਤਦੀ ਹੈ, ਜਦਕਿ ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ AI ਨੂੰ ਇਕ ਸਹਾਇਕ ਵਜੋਂ ਢਾਂਚੇ ਅੰਦਰ ਵਰਤਦੀ ਹੈ। ਇੱਥੇ ਦਾ ਮਕਸਦ ਇਹ ਹੈ ਕਿ ਵਪਾਰ-ਬੇਝੜਤਾਵਾਂ ਸਪਸ਼ਟ ਹੋਣ ਤਾਂ ਜੋ ਤੁਸੀਂ ਟੀਮ ਦੇ ਆਕਾਰ, ਸਮੇਂ-ਸਰਣੀ ਅਤੇ ਗਲਤੀਆਂ ਦੇ ਖਰਚ ਦੇ ਆਧਾਰ 'ਤੇ ਸੋਚ-ਸਮਝ ਕੇ ਚੁਣ ਸਕੋ।
ਦੋ ਟੀਮ ਇੱਕੋ ਜਿਹਾ ਫੀਚਰ ਬਣਾ ਸਕਦੀਆਂ ਹਨ ਪਰ main ਵਿੱਚ ਲਿਆਉਣ ਲਈ ਬਹੁਤ ਹੀ ਵੱਖ-ਵੱਖ ਰਸਤੇ ਲੈ ਸਕਦੀਆਂ ਹਨ। ਫਰਕ ਸਿਰਫ਼ ਟੂਲਾਂ ਦਾ ਨਹੀਂ—ਇਹ ਉਸ ਗੱਲ 'ਤੇ ਹੈ ਕਿ “ਸੋਚਣਾ” ਕਿੱਥੇ ਹੁੰਦਾ ਹੈ: ਅੱਗੇ-ਅੱਗੇ ਆਰਟੀਫੈਕਟ ਵਿੱਚ ਅਤੇ ਰਿਵਿਊ ਵਿਚ, ਜਾਂ ਲਗਾਤਾਰ ਤੇਜ਼ ਦੁਹਰਾਈ ਰਾਹੀਂ।
ਇੱਕ ਆਮ ਵਾਈਬ ਕੋਡਿੰਗ ਲੂਪ ਇੱਕ ਠੋਸ ਟੀਚੇ ("Stripe ਚੈੱਕਆਊਟ ਨਾਲ ਬਿਲਿੰਗ ਪੇਜ ਜੋੜੋ") ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸਿੱਧਾ ਪ੍ਰੰਪਟ, ਕੋਡ ਜਨਰੇਸ਼ਨ ਅਤੇ ਤੁਰੰਤ ਹੱਥ-ਤੇ ਟੈਸਟਿੰਗ ਵੱਲ ਵਧਦਾ ਹੈ।
ਮੁੱਖ ਆਰਟੀਫੈਕਟ ਆਮ ਤੌਰ 'ਤੇ ਹੁੰਦੇ ਹਨ:
ਫੀਡਬੈਕ ਤੇਜ਼ ਅਤੇ ਸਥਾਨਕ ਹੁੰਦਾ ਹੈ: ਚਲਾਓ, ਕਲਿੱਕ ਕਰੋ, ਪ੍ਰੰਪਟ ਸੋਧੋ, ਦੁਹਰਾਓ। “ਮਰਜ” ਮੋਹਰਤ ਅਕਸਰ ਉਸ ਵੇਲੇ ਆਉਂਦੀ ਹੈ ਜਦੋਂ ਫੀਚਰ ਠੀਕ ਲੱਗਦਾ ਹੈ ਅਤੇ ਕੋਈ ਵੱਡਾ ਤੌਰ 'ਤੇ ਟੁੱਟ ਨਹੀਂ ਰਿਹਾ।
ਇਹ ਵਰਕਫਲੋ ਇਕੱਲੇ ਬਨਾਉਣ ਵਾਲਿਆਂ ਅਤੇ ਛੋਟੀ ਟੀਮਾਂ ਲਈ ਉਜਲਦਾ ਹੈ ਜੋ ਪ੍ਰੋਟੋਟਾਈਪ, ਅੰਦਰੂਨੀ ਟੂਲ ਜਾਂ ਗ੍ਰੀਨਫੀਲਡ ਉਤਪਾਦ ਬਣਾ ਰਹੇ ਹਨ ਜਿੱਥੇ ਲੋੜਾਂ ਹੁਣੇ-ਹੁਣੇ ਬਣ ਰਹੀਆਂ ਹਨ।
ਜੇ ਤੁਸੀਂ ਇਹ ਕਿਸੇ ਸਮਰਪਿਤ ਵਾਈਬ-ਕੋਡਿੰਗ ਮਾਹੌਲ ਜਿਵੇਂ Koder.ai 'ਤੇ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅਕਸਰ ਲੂਪ ਨੂੰ ਤੰਗ ਰੱਖ ਸਕਦੇ ਹੋ ਪਰ ਥੋੜੀ ਹੋਰ ਸੁਰੱਖਿਆ ਜੋੜ ਕੇ: upfront ਇਰਾਦਾ ਲਈ planning mode, ਰੋਲਬੈਕ ਲਈ snapshots, ਅਤੇ ਜਦੋਂ ਤਿਆਰ ਹੋਵੋ ਤਾਂ ਸੋਰਸ ਕੋਡ ਨਿਰਯਾਤ ਕਰਨ ਦਾ ਵਿਕਲਪ।
ਪਰੰਪਰਿਕ ਵਰਕਫਲੋ ਕੋਡ ਬਦਲਾਵਾਂ ਲੈण्ड ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵੱਧ ਮਿਹਨਤ ਨਿਵੇਸ਼ ਕਰਦਾ ਹੈ।
ਆਮ ਆਰਟੀਫੈਕਟ ਸ਼ਾਮਲ ਹਨ:
ਫੀਡਬੈਕ ਲੂਪ ਸਟੇਜਡ ਹੁੰਦੇ ਹਨ: ਪਹਿਲਾਂ ਪ੍ਰੋਡ/ਡਿਜ਼ਾਈਨ ਤੋਂ ਫੀਡਬੈਕ, ਫਿਰ ਟੈਕਨੀਕੀ ਰਿਵਿਊ, ਫਿਰ ਟੈਸਟ ਅਤੇ ਪ੍ਰੀ-ਮਰਜ ਚੈੱਕਾਂ ਤੋਂ ਭਰੋਸਾ। “ਮਰਜ” ਇੱਕ ਚੈਕਪੋਇੰਟ ਹੁੰਦਾ ਹੈ: ਕੋਡ ਨੂੰ ਸਮਝਣ ਯੋਗ, ਟੈਸਟਬਲ ਅਤੇ ਮੈਨੇਜ ਕਰਨ ਲਈ ਸੁਰੱਖਿਅਤ ਹੋਣ ਦੀ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਇਹ ਪਹੁੰਚ ਵੱਡੀਆਂ ਟੀਮਾਂ, ਲੰਮਾ ਜੀਵਨ ਵਾਲੇ ਕੋਡਬੇਸਾਂ ਅਤੇ ਉਹਨਾਂ ਸੰਸਥਾਵਾਂ ਲਈ ਫਿੱਟ ਬੈਠਦੀ ਹੈ ਜਿੱਥੇ ਭਰੋਸੇਯੋਗਤਾ, ਸੁਰੱਖਿਆ ਜਾਂ ਅਨੁਕੂਲਤਾ ਜ਼ਰੂਰੀ ਹਨ—ਜਿੱਥੇ “ਮੇਰੇ ਮਸ਼ੀਨ 'ਤੇ ਚੱਲਦਾ ਹੈ” ਕਾਫੀ ਨਹੀਂ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਹਕੀਕਤੀ ਟੀਮਾਂ ਦੋਹਾਂ ਨੂੰ ਮਿਲਾ ਕੇ ਵਰਤਦੀਆਂ ਹਨ: AI ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਤੇਜ਼ੀ ਨਾਲ ਵਰਤਦੇ ਹੋਏ ਕੰਮ ਨੂੰ ਸਾਫ਼ ਲੋੜਾਂ, ਰਿਵਿਊ ਅਤੇ ਆਟੋਮੇਟਡ ਚੈੱਕਾਂ ਨਾਲ ਨਾਂਵੂਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਮਰਜ ਬੋਰਿੰਗ ਬਣ ਸਕੇ—ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ।
ਗਤੀ ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਵਾਈਬ ਕੋਡਿੰਗ ਪਹਿਲਾਂ ਬੇਹਤਰੀਨ ਲੱਗਦੀ ਹੈ। ਇਹ ਮੋਮੈਂਟਮ ਲਈ ਅਪਟਿਮਾਈਜ਼ਡ ਹੈ: ਘੱਟ upfront ਫੈਸਲੇ, "ਕੁਝ ਚਲਦਾ ਹੈ" ਸ਼ਿਪ ਕਰਨ 'ਤੇ ਜ਼ੋਰ, ਅਤੇ AI ਸਹਾਇਤਾ ਨਾਲ ਤੇਜ਼ ਦੁਹਰਾਈ।
ਵਾਈਬ ਕੋਡਿੰਗ ਉਹਨਾਂ ਹਿੱਸਿਆਂ ਵਿੱਚ ਚਮਕਦੀ ਹੈ ਜਿੱਥੇ ਕੰਮ ਮੁੱਖ ਤੌਰ 'ਤੇ ਟੁਕੜੇ ਜੋੜਨ ਬਾਰੇ ਹੈ, ਨਾ ਕਿ ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਕਰਨ ਬਾਰੇ।
ਇਨ੍ਹਾਂ ਖੇਤਰਾਂ ਵਿੱਚ, ਸਭ ਤੋਂ ਤੇਜ਼ ਰਾਹ ਆਮ ਤੌਰ 'ਤੇ "ਇਸਨੂੰ ਚਲਾਓ, ਫਿਰ ਸੁਧਾਰੋ" ਹੁੰਦਾ ਹੈ—ਇਹੇ ਵਾਈਬ ਕੋਡਿੰਗ ਦਾ ਅਸਲ ਮੰਤਵ ਹੈ।
ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਸ਼ੁਰੂ ਵਿੱਚ ਧੀਮੀ ਹੁੰਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਉਹ ਫੈਸਲੇ ਕਰਦੀ ਹੈ ਜੋ ਭਵਿੱਖ ਦੇ ਕੰਮ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ: ਸਪਸ਼ਟ ਸੀਮਾਵਾਂ, ਦੁਬਾਰਾ ਵਰਤੋਂ ਯੋਗ ਕੰਪੋਨੈਂਟ, ਅਤੇ ਭਵਿੱਖ-ਪੂਰਨ ਵਿਹਾਰ।
ਇਹ ਅਕਸਰ ਬਾਅਦ ਵਿੱਚ ਤੇਜ਼ ਬਣ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਮਿਲਦਾ ਹੈ:
ਵਾਈਬ ਕੋਡਿੰਗ ਦੀ ਲੁਕਾਈ ਖਰਚ rework tax ਹੈ: ਬਾਅਦ ਵਿੱਚ ਉਹ ਛੋਟੀਆਂ ਸੁਟਕਟਾਂ ਨੂੰ ਸੁਲਝਾਉਣ ਲਈ ਲੱਗਣ ਵਾਲਾ ਸਮਾਂ—ਨਕਲ ਕੀਤਾ ਲਾਜਿਕ, ਅਸਪਸ਼ਟ ਨਾਮਕਰਨ, ਅਸਮਾਨ ਪੈਟਰਨ, ਗਾਇਬ ਐਜ ਕੇਸਾਂ, ਅਤੇ "ਅਸਥਾਈ" ਹੱਲ ਜੋ ਸਥਾਈ ਹੋ ਜਾਂਦੇ ਹਨ।
ਰੀਵਰਕ ਟੈਕਸ ਮੁੜ-ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ:
ਜੇ ਪਹਿਲਾ ਵਰਜ਼ਨ 2 ਦਿਨ ਲੈਂਦਾ ਹੈ ਪਰ ਅਗਲੇ ਮਹੀਨੇ 10 ਦਿਨ ਸਾਫ਼-ਸੁਥਰਾ ਕਰਨ 'ਤੇ ੲੇਂ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਤੁਹਾਡੀ "ਤੇਜ਼" ਪਹੁੰਚ ਆਖ਼ਿਰਕਾਰ ਕੁੱਲ ਮਿਲਾ ਕੇ ਧੀਮੀ ਹੋ ਸਕਦੀ ਹੈ।
ਭਾਵਨਾਵਾਂ ਦੀ ਬਜਾਏ, ਕੁਝ ਸਧਾਰਨ ਮੈਟ੍ਰਿਕ ਟਰੈਕ ਕਰੋ:
ਵਾਈਬ ਕੋਡਿੰਗ ਆਮ ਤੌਰ 'ਤੇ ਸ਼ੁਰੂ ਵਿੱਚ cycle time ਜਿੱਤਦੀ ਹੈ। ਪਰ ਜਦੋਂ ਪ੍ਰੋਡਕਟ ਨੂੰ ਸਥਿਰ, ਭਰੋਸੇਯੋਗ ਡਿਲਿਵਰੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ lead time 'ਚ ਜਿੱਤ ਸਕਦੀ ਹੈ।
ਜੋਖਮ ਸਿਰਫ਼ "ਬੱਗ" ਨਹੀਂ ਹੈ। ਇਹ ਉਹ ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਜੋ ਤੁਸੀਂ ਸ਼ਿਪ ਕਰਦੇ ਹੋ ਉਹ ਅਸਲੀ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦਾ ਹੈ: ਪੈਸਾ ਘੱਟਣਾ, ਸਮਾਂ ਬਰਬਾਦ ਹੋਣਾ, ਭਰੋਸਾ ਟੁੱਟਣਾ, ਜਾਂ ਸਿਸਟਮ ਠੱਲ੍ਹੇ ਹੋ ਜਾਣਾ। ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਚਕਾਰ ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ ਵਿਕਾਸ ਦੌਰਾਨ ਉਹ ਜੋਖਮ ਕਿੰਨਾ ਦਿੱਸਦਾ ਹੈ।
ਸਹੀਖਪੱਤਰਤਾ: ਫੀਚਰ ਤੁਹਾਡੇ ਹੈਪੀ-ਪਾਥ ਡੈਮੋ 'ਚ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਵਾਸਤੇ ਡੇਟਾ, ਐਜ ਕੇਸਾਂ ਜਾਂ ਵੱਖ-ਵੱਖ ਵਾਤਾਵਰਣਾਂ 'ਚ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ।
ਭਰੋਸੇਯੋਗਤਾ: ਚੀਜ਼ਾਂ ਟਾਈਮਆਉਟ ਹੋ ਜਾਂਦੀਆਂ ਹਨ, ਲੋਡ 'ਤੇ ਕ੍ਰੈਸ਼ ਹੁੰਦੀਆਂ ਹਨ, ਜਾਂ ਡਿਪਲੋਅ/ਰੋਲਬੈਕ ਦੌਰਾਨ ਟੁੱਠ ਜਾਂਦੀਆਂ ਹਨ।
ਸੁਰੱਖਿਆ: ਸੀਕ੍ਰੇਟ ਲੀਕ ਹੋ ਜਾਣੇ, ਅਣਸੁਰੱਖਿਅਤ ਪਰਵਾਨੀਆਂ, ਇੰਜੈਕਸ਼ਨ ਖਤਰੇ, ਅਸੁਰੱਖਿਅਤ ਡੀਪੈਂਡੰਸੀਜ਼ ਜਾਂ ਡੂੰਘੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸਮੱਸਿਆਵਾਂ।
ਅਨੁਕੂਲਤਾ ਅਤੇ ਪ੍ਰਾਈਵੇਸੀ: ਗਲਤੀ ਨਾਲ ਨਿੱਜੀ ਡੇਟਾ ਲੌਗ ਹੋ ਜਾਣਾ, ਸਹਿਮਤੀ ਫਲੋਜ਼ ਦਾ ਗੁੰਮ ਹੋਣਾ, ਆਡਿਟ ਲੋੜਾਂ ਦੀ ਉਲੰਘਣਾ, ਜਾਂ ਰਿਟੈਂਸ਼ਨ ਨੀਤੀ ਨੂੰ ਨਾ ਮੰਨਣਾ।
ਵਾਈਬ ਕੋਡਿੰਗ ਆਮ ਤੌਰ 'ਤੇ ਆਸ਼ਾਵਾਦੀ ਹੁੰਦੀ ਹੈ: ਤੁਸੀਂ ਉਸ ਆਧਾਰ 'ਤੇ ਅੱਗੇ ਵਧਦੇ ਹੋ ਜੋ "ਉਹਠੀਕ ਲੱਗਦਾ"। ਇਹ ਗਤੀ ਅਕਸਰ ਅਣਬੋਲੀਆਂ ਧਾਰਣਾਵਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ—ਇਨਪੁਟ, ਯੂਜ਼ਰ ਵਿਵਹਾਰ, ਇੰਫ੍ਰਾਸਟਰੱਕਚਰ ਜਾਂ ਡੇਟਾ ਸ਼ੇਪ ਬਾਰੇ। AI-ਸਹਾਇਤ ਵਿਕਾਸ ਇਹ ਗੈਪ ਭਰਨ ਵਿੱਚ ਤੇਜ਼ ਹੋ ਸਕਦਾ ਹੈ ਪਰ ਇਹ plausible ਕੋਡ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੋ ਠੀਕ ਲੱਗਦਾ ਹੈ ਪਰ ਪਰਖਿਆ ਨਹੀਂ ਗਿਆ।
ਖਤਰਾ ਇਹ ਨਹੀਂ ਕਿ ਕੋਡ ਹਰ ਵਾਰ ਗਲਤ ਹੈ; ਖਤਰਾ ਇਹ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਨਹੀਂ ਪਤਾ ਕਿ ਇਹ ਕਿੰਨਾ ਗਲਤ ਹੋ ਸਕਦਾ ਹੈ ਜਦ ਤੱਕ ਇਹ ਪ੍ਰੋਡਕਸ਼ਨ 'ਚ ਨਹੀਂ ਆ ਜਾਂਦਾ। ਆਮ ਫੇਲ੍ਹ ਪੈਟਰਨ ਸ਼ਾਮਲ ਹਨ:
ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਜੋਖਮ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸ਼ਿਪ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਪਸ਼ਟਤਾ ਮੰਗਦੀ ਹੈ। ਕੋਡ ਰਿਵਿਊ, ਥਰੈਟ ਮਾਡਲਿੰਗ ਅਤੇ ਟੈਸਟਿੰਗ ਵਾਲੇ ਅਭਿਆਸ ਸਿਰਫ਼ ਰੀਤੀਆਂ ਨਹੀਂ—ਇਹ ਚੈੱਕਪੋਇੰਟ ਬਣਾਉਂਦੇ ਹਨ ਜਿੱਥੇ ਧਾਰਣਾਵਾਂ ਨੂੰ ਚੁਣੌਤੀ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
ਨਤੀਜਾ ਨਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਜੋਖਮ ਸਾਰੇ ਓਹਲੇ ਹੋ ਜਾਣ—ਪਰ ਸਮੇਂ ਨਾਲ ਇਹ ਘੱਟ ਅਤੇ ਅਨੁਮਾਨਯੋਗ ਹੁੰਦਾ ਹੈ।
ਪ੍ਰਕਿਰਿਆ ਆਪਣਾ ਜੋਖਮ ਲਿਆਉਂਦੀ ਹੈ: ਦੇਰੀਆਂ ਜੋ ਟੀਮਾਂ ਨੂੰ ਦਬਾਉਂਦੀਆਂ ਹਨ ਜਾਂ ਬਹੁਤ ਵੱਧ ਡਿਜ਼ਾਈਨ ਜੋ ਤੁਹਾਨੂੰ ਜ਼ਰੂਰਤ ਤੋਂ ਬਹੁਤ ਕੁਝ ਬਣਾ ਦੇਵੇ। ਜੇ ਟੀਮ "ਕੇਵਲ ਸਥਿਤੀ" ਲਈ ਬਹੁਤ ਕੁਝ ਬਣਾ ਲੈਂਦੀ ਹੈ ਤਾਂ ਤੁਸੀਂ ਸਿੱਖਣ 'ਚ ਧੀਮੇ ਹੋ ਸਕਦੇ ਹੋ, ਵੱਡੀਆਂ ਮਾਈਗ੍ਰੇਸ਼ਨ ਹੋ ਸਕਦੀਆਂ ਹਨ, ਅਤੇ ਫੀਚਰ ਜਿੰਨੇ ਕੀਮਤੀ ਹਨ ਉਹ ਕਦੇ ਨਾਹ ਦੇ ਸਕਦੇ।
ਪ੍ਰਯੋਗਿਕ ਲਕੜੀ ਇਹ ਹੈ ਕਿ ਗਾਰਡਰੇਲਜ਼ ਨੂੰ ਸਟੇਕਸ (stakes) ਨਾਲ ਮੇਲ ਕਰੋ: ਜਿਤਨਾ ਵੀ ਪ੍ਰਭਾਵ ਵੱਡਾ ਹੋਵੇ, ਉੱਤਨਾ ਹੀ ਵੱਧ upfront ਢਾਂਚਾ ਚਾਹੀਦਾ ਹੈ।
ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਇਹ ਹੈ ਕਿ ਕੋਡਬੇਸ ਨੂੰ ਸਮਝਣਾ, ਬਦਲਣਾ ਅਤੇ ਸਮੇਂ ਨਾਲ ਭਰੋਸਾ ਕਰਨਾ ਅਸਾਨ ਕਿੰਨਾ ਹੈ। ਇਹ ਕੋਈ ਅਧੁਰ ਨੈਤਿਕ ਆਈਡਿਓਲੋਜੀ ਨਹੀਂ—ਇਹ ਪੜ੍ਹਨਯੋਗਤਾ, ਮੋਡੀਊਲਾਰਟੀ, ਟੈਸਟ, ਡੌਕਸ ਅਤੇ ਸਪਸ਼ਟ ਮਲਕੀਅਤ ਦਾ ਪ੍ਰਾਇੋਗਿਕ ਮਿਸ਼ਰਣ ਹੈ। ਜਦੋਂ ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਉੱਚੀ ਹੁੰਦੀ ਹੈ, ਛੋਟੇ ਉਤਪਾਦ ਬਦਲਾਅ ਛੋਟੇ ਹੀ ਰਹਿੰਦੇ ਹਨ। ਜਦੋਂ ਇਹ ਘੱਟ ਹੁੰਦੀ ਹੈ, ਹਰ ਸੋਧ ਇੱਕ ਮਿਨੀ-ਪ੍ਰੋਜੈਕਟ ਬਣ ਜਾਂਦੀ ਹੈ।
ਸ਼ੁਰੂ ਵਿੱਚ, ਵਾਈਬ ਕੋਡਿੰਗ ਅਕਸਰ ਸਸਤੀ ਲੱਗਦੀ ਹੈ: ਤੁਸੀਂ ਤੇਜ਼ੀ ਨਾਲ ਮੂਲ-ਫੀਚਰ ਤਿਆਰ ਕਰ ਲੈਂਦੇ ਹੋ ਅਤੇ ਐਪ "ਚੱਲਦੀ" ਲੱਗਦੀ ਹੈ। ਲੁਕਿਆ ਖਰਚ ਬਾਅਦ ਵਿੱਚ ਆਉਂਦਾ ਹੈ, ਜਦੋਂ ਉਹੀ ਤੇਜ਼ੀ ਸਕੰਪਿੰਗ-ਫਰਕਸ਼ਨਲਿਟੀ ਬਣਦੀ ਹੈ—ਹਰ ਸੋਧ ਲਈ ਹੋਰ ਅੰਦਾਜ਼ਾ ਲਾਉਣਾ, ਹੋਰ ਰੀਗ੍ਰੈਸ਼ਨ ਫਿਕਸਜ਼, ਅਤੇ ਪਿਛਲੇ ਇਰਾਦੇ ਨੂੰ ਮੁੜ-ਖੋਜਣ ਲਈ ਵਧਦਾ ਸਮਾਂ।
ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਇੱਕ ਉਤਪਾਦੀ ਖਰਚ ਹੈ, ਸੁੰਦਰਤਾ ਦੀ ਪਸੰਦ ਨਹੀਂ। ਇਹ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ:
AI-ਸਹਾਇਤ ਆਉਟਪੁਟ ਥੋੜ੍ਹੀ-ਥੋੜ੍ਹੀ ਢੰਗ ਨਾਲ ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਘਟਾ ਸਕਦਾ ਹੈ ਜਦੋਂ ਇਹ ਬਿਨਾਂ ਇਕਰੂਪ ਫਰੇਮ ਦੇ ਕਈ ਬਰਸਟਰਾਂ ਵਿੱਚ ਉਤਪੱਨ ਹੁੰਦਾ ਹੈ। ਆਮ ਡਰਿਫਟ ਪੈਟਰਨ ਵਿੱਚ ਅਣਸੰਗਤ ਨਾਮਕਰਨ, ਮਿਲੀ-ਜੁਲੀ ਆਰਕੀਟੈਕਚਰਲ ਸਟਾਈਲਜ਼, ਨਕਲ ਲਾਜਿਕ ਅਤੇ ਐਸੀ “ਜਾਦੂਈ” ਵਰਤੋਂ ਸ਼ਾਮਲ ਹੈ ਜੋ ਕਿਤੇ ਵੀ ਵੇਰਵਾ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਹਰੇਕ ਸਨਿੱਪੇਟ ਵਾਜਿਬ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਪੂਰੇ ਸਿਸਟਮ ਨੇ ਇੱਕ ਪੈਚਵਰਕ ਬਣ ਜਾਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਕੋਈ ਸਮਝ ਨਹੀਂ ਆਉਂਦੀ ਕਿ ਮਿਆਰ ਕੀ ਹੈ।
ਪਾਰੰਪਰਿਕ ਅਭਿਆਸ ਕ੍ਰਿਵ ਨੂੰ ਘੱਟ ਰੱਖਦੇ ਹਨ: ਸਾਂਝੇ ਰੀਤੀ-ਰਿਵਾਜ, ਮੋਡੀਊਲ ਸੀਮਾ, ਟੈਸਟਜ਼ ਜੋ ਜੀਵਤ ਵਿਸਥਾਰ ਵਜੋਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਮੁੱਖ ਫੈਸਲਿਆਂ ਲਈ ਹਲਕੀ ਡੌਕਸ ਅਤੇ ਸਪਸ਼ਟ ਮਲਕੀਅਤ। ਇਹ ਰੀਤੀਆਂ ਰਿਵਾਜ ਨਹੀਂ—ਇਹ ਉਹ ਯਾਂਤਰ ਹਨ ਜੋ ਭਵਿੱਖ ਦੇ ਬਦਲਾਅਾਂ ਨੂੰ ਪੇਸ਼ਗੋਈਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।
ਜੇ ਤੁਸੀਂ ਵਾਈਬ-ਕੋਡਿੰਗ ਦੀ ਗਤੀ ਚਾਹੁੰਦੇ ਹੋ ਬਿਨਾਂ ਲੰਬੇ ਸਮੇਂ ਵਾਲੀ ਲਾੜ ਦੇ, ਤਾਂ ਬਣੇ ਰਹਿਣ ਯੋਗਤਾ ਨੂੰ ਇੱਕ ਫੀਚਰ ਵੱਜੋਂ ਲਗਾਤਾਰ ਸ਼ਿਪ ਕਰੋ, ਨਾ ਕਿ ਇੱਕ ਬਾਅਦੀ ਸਫਾਈ-ਕੰਮ ਦੇ ਤੌਰ 'ਤੇ।
ਡੀਬੱਗਿੰਗ ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਚਕਾਰ ਅੰਤਰ ਸਪਸ਼ਟ ਹੋ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਤੇਜ਼ੀ ਨਾਲ ਸ਼ਿਪ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਆਸਾਨੀ ਨਾਲ "ਬੱਗ ਚਲੇ ਗਿਆ" ਨੂੰ "ਸਿਸਟਮ ਸਮਝ ਆ ਗਿਆ" ਨਾਲ ਗਲਤ ਸਮਝ ਲੈ ਲੈਂਦੇ ਹੋ।
ਵਾਈਬ ਕੋਡਿੰਗ ਅਕਸਰ prompt-and-try ਲੂਪ ਵਰਤਦੀ ਹੈ: ਲਕਸ਼ਣ ਨੂੰ AI ਟੂਲ ਨੂੰ ਵੇਰਵਾ ਦਿਓ, ਸੁਝਾਅ ਲਓ, ਸੁਧਾਰ ਕਰੋ, ਹੈਪੀ ਪਾਥ ਨੂੰ ਦੁਹਰਾਓ ਅਤੇ ਅੱਗੇ ਵਧੋ। ਇਹ ਇਕਲ-ਮਾਮਲਿਆਂ ਲਈ ਚੰਗਾ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਜਦੋਂ ਬੱਗਾਂ ਦਾ ਕਾਰਨ ਸਮਾਂ, ਸਟੇਟ ਜਾਂ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਵੇਰਿਆਂ ਨਾਲ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ ਤਾਂ ਇਹ ਨਾਜ਼ੁਕ ਹੋ ਜਾਂਦਾ ਹੈ।
ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵੱਲ reproduce-and-fix ਨਜ਼ਰੀਆ ਹੁੰਦਾ ਹੈ: ਭਰੋਸੇਯੋਗ ਰੀਪ੍ਰੋਡਕਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰੋ, ਕਾਰਨ ਨੂੰ ਅਲੱਗ ਕਰੋ, ਫਿਰ ਇਸ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਠੀਕ ਕਰੋ ਕਿ ਉਹੀ ਕਿਸਮ ਦੀ ਫੇਲ੍ਹ ਦੁਬਾਰਾ ਨਾ ਹੋਵੇ। ਇਹ ਸ਼ੁਰੂ ਵਿੱਚ ਧੀਮਾ ਪਰ ਭਰੋਸੇਯੋਗ ਅਤੇ ਵਿਆਖਿਆਯੋਗ ਫਿਕਸ ਦੇਂਦਾ ਹੈ।
ਬੁਨਿਆਦੀ ਆਬਜ਼ਰਵੇਬਿਲਟੀ ਬਿਨਾਂ, prompt-and-try guesses ਵਿੱਚ ਗਿਰ ਸਕਦਾ ਹੈ। "ਮੇਰੇ ਮਸ਼ੀਨ 'ਤੇ ਚੱਲਦਾ" ਖਤਰਾ ਵੱਧ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਲੋਕਲ ਰਨ ਪ੍ਰੋਡਕਸ਼ਨ ਡੇਟਾ, ਟ੍ਰੈਫਿਕ ਪੈਟਰਨ, ਪਰਵਾਨਗੀਆਂ ਜਾਂ concurrency ਨਾਲ ਮੈਚ ਨਹੀਂ ਕਰਦਾ।
ਉਪਯੋਗੀ ਆਬਜ਼ਰਵੇਬਿਲਟੀ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਮਤਲਬ ਹੈ:
ਇਨ੍ਹਾਂ ਸਿਗਨਲਾਂ ਨਾਲ, ਤੁਸੀਂ ਝਗੜੇ ਬਾਰੇ ਘੱਟ ਬਹਿਸ ਕਰਦੇ ਹੋ ਅਤੇ ਜ਼ਿਆਦਾ ਸਮਾਂ ਸੁਧਾਰ ਕਰਨ 'ਤੇ ਲਗਾਉਂਦੇ ਹੋ।
ਅਮਲੀ ਤੌਰ 'ਤੇ, ਟੂਲਿੰਗ ਇਨ੍ਹਾਂ ਅੱਛੀਆਂ ਆਦਤਾਂ ਨੂੰ ਮਜ਼ਬੂਤ ਕਰ ਸਕਦੀ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਡਿਪਲੋਅ ਅਤੇ ਹੋਸਟ Koder.ai ਵਰਗੇ ਪਲੇਟਫਾਰਮ 'ਤੇ ਕਰਦੇ ਹੋ, ਤੇਜ਼ ਜਨਰੇਸ਼ਨ ਨੂੰ snapshots/rollback ਨਾਲ ਜੋੜ ਕੇ ਡੀਬੱਗ ਦੌਰਾਨ panic-ਫੈਕਟਰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ—ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇਕ ਤੇਜ਼ ਇਸ਼ਤਿਹਾਰ ਗਲਤ ਹੋ ਜਾਵੇ ਅਤੇ ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਵਾਪਸ ਲਿਆਉਣਾ ਹੋਵੇ।
ਜਦੋਂ ਕੁਝ ਟੁੱਟਦਾ ਹੈ, ਤਾਂ ਇਹ ਕ੍ਰਮ ਅਪਨਾਓ:
ਤੇਜ਼ ਟੀਮਾਂ ਉਹ ਨਹੀਂ ਜੋ ਕਦੇ ਬੱਗ ਨਹੀਂ ਵੇਖਦੀਆਂ—ਉਹ ਉਹ ਹਨ ਜੋ ਤੇਜ਼ੀ ਨਾਲ ਸੱਬਤ ਕਰ ਸਕਦੀਆਂ ਹਨ ਕਿ ਕੀ ਹੋਇਆ ਅਤੇ ਦੁਹਰਾਉਣ ਤੋਂ ਬਚਾ ਸਕਦੀਆਂ ਹਨ।
ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਚਕਾਰ ਸਭ ਤੋਂ ਵੱਡਾ ਫਰਕ “spec” ਹੈ। ਵਾਈਬ ਕੋਡਿੰਗ ਵਿੱਚ spec ਅਕਸਰ ਅਪ੍ਰਤ्यक्ष ਹੁੰਦੀ ਹੈ: ਇਹ ਤੁਹਾਡੇ ਦਿਮਾਘ, ਇੱਕ ਚੈਟ ਧਾਗਾ ਜਾਂ ਜੋ ਕੋਡ ਹੁਣ ਕਰਦਾ ਹੈ ਉਸ ਦੇ ਰੂਪ 'ਚ ਰਹਿੰਦੀ ਹੈ। ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ spec ਸਪਸ਼ਟ ਹੁੰਦੀ ਹੈ: ਲਿਖਤ ਲੋੜਾਂ, ਸਵੀਕਾਰਤਾ ਮਾਪਦੰਡ, ਅਤੇ ਐਸਾ ਡਿਜ਼ਾਈਨ ਜੋ ਹੋਰ ਲੋਕ ਰਿਵਿਊ ਕਰ ਸਕਣ।
ਅਪਰੋਕਸ਼ spec ਤੇਜ਼ ਅਤੇ ਲਚਕੀਲਾ ਹੁੰਦਾ ਹੈ। ਇਹ ਉ ideal ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਅਜੇ ਸਮੱਸਿਆ ਲੱਭ ਰਹੇ ਹੋ, ਲੋੜਾਂ ਅਸਥਿਰ ਹਨ, ਜਾਂ ਗਲਤ ਹੋਣ ਦੀ ਲਾਗਤ ਘੱਟ ਹੈ।
ਪ੍ਰਤੱਖ spec ਤੁਹਾਨੂੰ ਅੱਗੇ ਤੋਂ ਸਲੋ ਕਰਦਾ ਹੈ, ਪਰ churn ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ। ਇਹ ਉਸ ਵੇਲੇ ਲਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕਈ ਲੋਕ ਇਸ ਫੀਚਰ ਤੇ ਕੰਮ ਕਰਨਗੇ, edge cases ਮਹੱਤਵਪੂਰਨ ਹਨ, ਜਾਂ ਫੇਲ ਹੋਣਾ ਅਸਲ ਪ੍ਰਭਾਵ ਰੱਖਦਾ ਹੈ (ਪੈਸਾ, ਭਰੋਸਾ, ਅਨੁਕੂਲਤਾ)।
ਤੁਹਾਨੂੰ 10-ਪੰਨੇ ਦਾ ਡੌਕ ਨਹੀਂ ਚਾਹੀਦਾ ਲਈ ਗੁੰਝਲ ਨੂੰ ਬਚਾਉਣ ਲਈ। ਦੋ ਹਲਕੇ ਵਿਕਲਪ ਚੰਗੇ ਕੰਮ ਕਰਦੇ ਹਨ:
/docs/notes ਫਾਇਲ।ਲਕੜੀ ਦਾ ਮਕਸਦ ਸਧਾਰਨ ਹੈ: ਭਵਿੱਖ ਦੇ-ਤੁਹਾਨੂੰ (ਅਤੇ ਸਮੀਖਿਆਕਾਰਾਂ) ਨੂੰ ਇਰਾਦਾ ਸਮਝਣਯੋਗ ਬਣਾਉਣਾ ਬਿਨਾਂ ਕੋਡ ਨੂੰ ਰਿਵਰਸ-ਇੰਜੀਨੀਅਰ ਕਰਨ ਦੇ।
ਪੂਰੀ ਲੋੜਾਂ ਅਤੇ ਸਵੀਕਾਰਤਾ ਮਾਪਦੰਡ ਲਾਗੂ ਕਰਨਯੋਗ ਹਨ ਜਦੋਂ:
**Problem**: What user/business pain are we solving?
**Non-goals**: What are we explicitly not doing?
**Proposed behavior**: What changes for the user? Include key flows.
**Acceptance criteria**: Bullet list of verifiable outcomes.
**Edge cases**: Top 3–5 tricky scenarios.
**Data/contracts**: Inputs/outputs, events, permissions.
**Rollout & rollback**: Feature flag? Migration plan?
**Observability**: What to log/measure to know it works?
ਇਹ ਢਾਂਚਾ ਵਾਈਬ-ਚਾਲਿਤ ਗਤੀ ਨੂੰ ਰੱਖਦਾ ਹੈ, ਤੇ ਪ੍ਰੋਡਕਸ਼ਨ ਕੰਮ ਨੂੰ ਇੱਕ ਸਪਸ਼ਟ ਟੀਚਾ ਅਤੇ "ਕਿਰਿਆਸ਼ੀਲ" ਦਿਫ਼ਾਈਨ ਕਰਦਾ ਹੈ।
ਟੈਸਟਿੰਗ ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਸਭ ਤੋਂ ਜ਼ਿਆਦਾ ਵੱਖ-ਵੱਖ ਹੋ ਜਾਂਦੇ ਹਨ—ਨਾਹ ਕਿ ਕੋਈ ਇਕ ਨੂੰ ਜ਼ਿਆਦਾ ਪਿਆਰ ਹੈ, ਬਲਕਿ ਟੈਸਟ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹਨ ਕਿ ਗਤੀ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਬਦਲਦੀ ਹੈ ਜਾਂ ਮੁੜ-ਕੰਮ ਵਿੱਚ।
ਇੱਕ ਆਮ ਵਾਈਬ-ਕੋਡਿੰਗ ਪੈਟਰਨ ਹੈ: ਕੋਡ ਜਨਰੇਟ ਕਰੋ, ਹੈਪੀ-ਪਾਥ 'ਚ ਕਲਿੱਕ ਕਰੋ, ਸ਼ਿਪ ਕਰੋ, ਤੇ ਫਿਰ ਯੂਜ਼ਰ ਰਿਪੋਰਟਾਂ ਨਾਲ ਠੀਕ ਕਰੋ। ਇਹ ਠੀਕ ਹੈ ਜੇ ਇਹ ਇਕ ਛੋਟਾ-ਫੈਲਿਆ ਪ੍ਰੋਟੋਟਾਈਪ ਹੈ, ਪਰ ਜਦੋਂ ਅਸਲ ਡੇਟਾ, ਭੁਗਤਾਨ ਜਾਂ ਹੋਰ ਟੀਮਾਂ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ ਤਾਂ ਇਹ ਨਾਜ਼ੁਕ ਹੋ ਜਾਂਦਾ ਹੈ।
ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਦੁਹਰਾਏ ਜਾ ਸਕਣ ਵਾਲੇ ਆਟੋਮੇਟਡ ਟੈਸਟ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਮਕਸਦ ਕਮਾਲ ਦੀ ਸੱਚਾਈ ਨਹੀਂ; ਮਕਸਦ ਇਹ ਹੈ ਕਿ "ਅਸੀਂ ਕੁਝ ਤੋੜਿਆ ਹੈ?" ਹਰ ਵਾਰੀ ਬਦਲਾਅ ਕਰਨ 'ਤੇ ਸਸਤਾ ਜਵਾਬ ਹੋਵੇ।
ਤੁਹਾਨੂੰ ਸੈਂਕੜੇ ਟੈਸਟਾਂ ਦੀ ਲੋੜ ਨਹੀਂ—ਉੱਚ-ਪ੍ਰਭਾਵ ਵਾਲੇ ਪਰਤ ਆਮ ਤੌਰ 'ਤੇ ਇਸੇ ਵੇਲੇ ਲਾਭਦੇ ਹਨ:
AI ਉਸਵੇਲੇ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਟੈਸਟ ਇੱਕ ਟਾਰਗਿਟ ਦਿੰਦੇ ਹਨ। ਦੋ ਪ੍ਰਯੋਗਿਕ ਵਿਕਲਪ:
ਕਵਰੇਜ ਪ੍ਰਤੀਸ਼ਤ ਨੂੰ ਪਾਲਣ ਕਰਨ ਨਾਲ ਵਕਤਾ ਖਪਤ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਦੀ ਥਾਂ, ਯਤਨ ਨੂੰ ਪ੍ਰਭਾਵ ਨਾਲ ਜੋੜੋ:
ਚੰਗੀ ਟੈਸਟਿੰਗ ਡਿਲਿਵਰੀ ਨਾ ਸਿਰਫ਼ ਧੀਮੀ ਨਹੀਂ ਕਰਦੀ—ਇਹ ਅੱਜ ਦੀ ਗਤੀ ਨੂੰ ਕੱਲ੍ਹ ਦੇ ਅੱਗੂਏ ਲੜਾਈ ਤੋਂ ਬਚਾਂਦੀ ਹੈ।
ਕੋਡ ਰਿਵਿਊ ਉਹ ਜਗ੍ਹਾ ਹੈ ਜਿੱਥੇ "ਮੇਰੇ ਮਸ਼ੀਨ 'ਤੇ ਚਲਦਾ" ਬਣਦਾ ਹੈ "ਟੀਮ ਲਈ ਕੰਮ ਕਰਦਾ"। ਵਾਈਬ ਕੋਡਿੰਗ ਆਮ ਤੌਰ 'ਤੇ ਮੋਮੈਂਟਮ ਲਈ ਔਪਟਿਮਾਈਜ਼ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਰਿਵਿਊ ਕੁਝ ਹਾਲਤਾਂ ਵਿੱਚਨਹੀਂ ਤੋਂ ਇੱਕ ਛੋਟੀ ਆਪ-ਚੈਕ ਤੱਕ ਸੀਮਿਤ ਰਹਿ ਸਕਦੀ ਹੈ। ਪਰੰਪਰਿਕ इੰਜੀਨੀਅਰਿੰਗ ਰਿਵਿਊ ਨੂੰ ਡਿਫਾਲਟ ਕਦਮ ਵਜੋਂ ਮੰਨਦਾ ਹੈ, ਸਾਥੀ ਰਿਵਿਊ ਅਤੇ gated merges (ਬਿਨਾਂ ਅਮਾਨਤੀ ਦੇ ਮਰਜ ਨਾ ਹੋਵੇ) ਆਮ ਹਨ।
ਟੀਮਾਂ ਆਮ ਤੌਰ 'ਤੇ ਇਹਨਾਂ ਪੈਟਰਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਪੈਂਦੀਆਂ ਹਨ:
ਹਾਂ, ਮਜ਼ਬੂਤ ਟੈਸਟ ਵੀ ਮੁੜ 'ਤੇ ਸੌਣੇ ਮੁੱਦਿਆਂ ਨੂੰ ਨਹੀਂ ਪਕੜਦੇ:
ਗਤੀ ਬਿਨਾਂ ਸੁਰੱਖਿਆ-ਕਦਮ ਛੱਡੇ ਵੀ ਰੱਖੀ ਜਾ ਸਕਦੀ ਹੈ:
ਜਦੋਂ AI ਨੇ ਕੋਡ ਦਾ ਹਿੱਸਾ ਲਿਖਿਆ ਹੈ, ਸਮੀਖਿਆਕਾਰਾਂ ਨੂੰ ਖਾਸ ਤੌਰ 'ਤੇ ਚੈੱਕ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
ਚੰਗੀ ਰਿਵਿਊ ਸੰਸਕ੍ਰਿਤੀ ਬਿਉਰੋਕ੍ਰੇਸੀ ਨਹੀਂ—ਇਹ ਭਰੋਸੇ ਲਈ ਸਕੇਲਿੰਗ ਮਿਕੈਨਜ਼ਮ ਹੈ।
ਤੇਜ਼ ਇਟਰੇਸ਼ਨ ਮੁੱਲ ਤੇਜ਼ੀ ਨਾਲ ਕਦਰ ਦੇ ਸਕਦੀ ਹੈ, ਪਰ ਇਹ ਵੀ ਗਲਤੀਆਂ ਤੇਜ਼ੀ ਨਾਲ ਸ਼ਿਪ ਕਰਦੀ ਹੈ—ਖਾਸ ਕਰਕੇ ਸੁਰੱਖਿਆ ਦੀਆਂ ਗਲਤੀਆਂ ਜੋ ਡੈਮੋ ਵਿੱਚ ਨਹੀਂ ਆਉਂਦੀਆਂ।
ਅਕਸਰ ਸਮੱਸਿਆਵਾਂ ਵਿਸ਼ੇਸ਼ ਨਾਹੀਂ ਹੁੰਦੀਆਂ; ਇਹ ਮੁੱਢਲੇ ਹਾਈਜੀਨ ਫੇਲ੍ਹ ਹਨ:
ਵਾਈਬ ਕੋਡਿੰਗ ਇਹ ਜੋਖਮ ਵਧਾਉਂਦੀ ਹੈ ਕਿਉਂਕਿ ਕੋਡ ਅਕਸਰ ਸਨਿੱਪੇਟਸ ਅਤੇ ਸੁਝਾਵਾਂ ਤੋਂ ਇਕੱਠਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ "ਠੀਕ ਲੱਗਦਾ" ਹੱਲ ਸਵੀਕਾਰ ਕਰਨ ਵਿੱਚ ਆਸਾਨ ਹੁੰਦਾ ਹੈ ਬਿਨਾਂ ਧਮਕੀ ਮਾਡਲ ਦੀ ਜਾਂਚ ਕੀਤੇ।
AI-ਜਨਰੇਟਡ ਸਨਿੱਪੇਟ ਆਮ ਤੌਰ 'ਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਖਿੱਚਦੇ ਹਨ "ਕਿਉਂਕਿ ਉਹ ਕੰਮ ਕਰਦੀਆਂ ਹਨ," ਨਾ ਕਿ ਇਸ ਲਈ ਕਿ ਉਹ ਉਚਿਤ ਹਨ। ਇਸ ਨਾਲ ਆ ਸਕਦਾ ਹੈ:
ਇੱਥੇ ਤੱਕ ਕਿ ਜੇ ਕੋਡ ਸਾਫ਼ ਹੋਵੇ, ਡੀਪੈਂਡੰਸੀ ਗ੍ਰਾਫ ਚੁੱਪਚਾਪ ਨ weakest link ਬਣ ਸਕਦਾ ਹੈ।
ਸੁਰੱਖਿਆ ਚੈੱਕ ਨੂੰ spellcheck ਵਾਂਗ ਸਧਾਰਨ ਅਤੇ ਹਮੇਸ਼ਾ-ਚਾਲੂ ਬਣਾਓ।
ਇਨ੍ਹਾਂ ਨੂੰ CI 'ਚ ਕੇਂਦ੍ਰਿਤ ਕਰੋ ਤਾਂ ਕਿ "ਤੇਜ਼ ਰਸਤਾ" ਵੀ "ਸੁਰੱਖਿਅਤ ਰਸਤਾ" ਹੋਵੇ।
ਜੇ ਤੁਸੀਂ SOC 2, ISO 27001, HIPAA ਜਾਂ ਸਮਾਨ ਨਿਯਮਾਂ ਹੇਠਾਂ ਕੰਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਿਰਫ਼ ਚੰਗੀਆਂ ਨੀਤੀਆਂ ਕਾਫ਼ੀ ਨਹੀਂ ਹੁੰਦੀਆਂ:
ਵਾਈਬ ਕੋਡਿੰਗ ਅਜੇ ਵੀ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ—ਪਰ ਸਿਰਫ ਜਦੋਂ ਗਾਰਡਰੇਲਜ਼ ਨੀਤੀ ਬਣ ਜਾਂਦੇ ਹਨ, ਯਾਦ ਨਹੀਂ।
ਵਾਈਬ ਕੋਡਿੰਗ ਅਤੇ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਚੋਂ ਚੋਣ ਕਰਨਾ ਧਰਮ ਨਹੀਂ—ਇਹ ਤੁਹਾਡੇ ਸਟੇਕਸ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ। ਇੱਕ ਕਾਰਗੁਜ਼ਾਰ ਨਿਯਮ: ਜਿੰਨਾ ਜ਼ਿਆਦਾ ਉਪਭੋਗਤਾ, ਪੈਸਾ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਸ਼ਾਮਲ ਹੈ, ਉੱਤਨਾ ਹੀ ਤੁਸੀਂ ਭਰੋਸੇਯੋਗਤਾ ਨੂੰ ਕੱਚੀ ਗਤੀ 'ਤੇ ਤਰਜੀਹ ਦੋ।
ਵਾਈਬ ਕੋਡਿੰਗ ਵਧੀਆ ਹੈ ਜਦੋਂ ਟੀਚਾ ਤੇਜ਼ੀ ਨਾਲ ਸਿੱਖਣਾ ਹੋਵੇ ਨਾ ਕਿ ਅਜਿਹਾ ਕੁਝ ਬਣਾਉਣਾ ਜੋ ਬਰਕਰਾਰ ਰਹੇ:
ਜੇ ਤੁਸੀਂ ਖਰਾਬੀਆਂ ਅਤੇ ਕਈ ਵਾਰ ਮੁੜ-ਲਿਖਣ ਨੂੰ ਬਰਦਾਸ਼ਤ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਗਤੀ ਇੱਕ ਅਸਲ ਫਾਇਦਾ ਹੈ।
ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਉਹਨਾਂ ਹਾਲਤਾਂ ਵਿੱਚ ਆਪਣਾ ਮੁੱਲ ਕਮਾ ਲੈਂਦੀ ਹੈ ਜਦੋਂ ਫੇਲ੍ਹ ਦਾ ਨਤੀਜਾ ਸੰਜੀਦਗੀ ਨਾਲ ਮਹਿਸੂਸ ਹੋਵੇ।
ਇਸਨੂੰ ਵਰਤੋ:
ਇਹ ਲੰਬੇ ਸਮੇਂ ਲਈ ਰਹਿਣ ਵਾਲੇ ਉਤਪਾਦਾਂ ਅਤੇ ਕਈ ਡਿਵੈਲਪਰਾਂ ਵਾਲੀਆਂ ਟੀਮਾਂ ਲਈ ਵੀ ਬਿਹਤਰ ਚੋਣ ਹੈ, ਜਿੱਥੇ onboarding, ਇੱਕਸਾਰ ਪੈਟਰਨ, ਅਤੇ ਭਵਿੱਖੀ ਬਦਲਾਅ ਦੀ ਪੇਸ਼ਗੋਈ ਜ਼ਰੂਰੀ ਹੈ।
ਇੱਕ ਆਮ ਜਿੱਤਣ ਵਾਲੀ ਚਾਲ: ਪਹਿਲਾਂ ਵਿਬ ਕਰਕੇ ਖੋਜ ਕਰੋ, ਫਿਰ ਇੰਜੀਨੀਅਰ ਕਰਕੇ ਡਿਲਿਵਰ ਕਰੋ।
ਵਾਈਬ ਕੋਡਿੰਗ ਨਾਲ ਸ਼ੁਰੂ ਕਰਕੇ ਫੀਚਰ ਦਾ ਰੂਪ ਬਣਾ ਕੇ, ਯੂਜ਼ਰੀਬੀਟੀ ਸਾਬਤ ਕਰੋ ਅਤੇ ਲੋੜਾਂ ਸਪਸ਼ਟ ਕਰੋ। ਜਦੋਂ ਮੁੱਲ ਪੱਕਾ ਹੋ ਜਾਵੇ, ਤਾਂ ਪ੍ਰੋਟੋਟਾਈਪ ਨੂੰ ਨਾਸ਼ ਕਰਨ ਵਾਲਾ ਸਮਝੋ: ਮੁੜ ਲਿਖੋ ਜਾਂ ਇਸਨੂੰ ਮਜ਼ਬੂਤ ਬਣਾਓ ਸਾਫ਼ ਇੰਟਰਫੇਸ, ਟੈਸਟ, ਲਾਗਿੰਗ ਅਤੇ ਰਿਵਿਊ ਮਿਆਰ ਜੋੜਕੇ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਇਹ "ਅਸਲਾ" ਬਣ ਜਾਏ।
| ਕਾਰਕ | ਵਾਈਬ ਕੋਡਿੰਗ ਫਿੱਟ | ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਫਿੱਟ |
|---|---|---|
| Stakes (ਫੇਲ੍ਹ ਦੀ ਲਾਗਤ) | ਘੱਟ | ਉੱਚ |
| ਯੂਜ਼ਰਾਂ ਦੀ ਗਿਣਤੀ | ਥੋੜੇ / ਅੰਦਰੂਨੀ | ਬਹੁਤ / ਬਾਹਰੀ |
| ਡੇਟਾ ਸੰਵੇਦਨਸ਼ੀਲਤਾ | ਪਬਲਿਕ / ਗੈਰ-ਸੰਵੇਦਨਸ਼ੀਲ | ਸੰਵੇਦਨਸ਼ੀਲ / ਨਿਯਮਤ |
| ਬਦਲਾਅ ਦੀ ਦਰ | ਤੇਜ਼ ਪ੍ਰਯੋਗ | ਸਥਿਰ, ਯੋਜਨਾਬੱਧ |
ਜੇ ਤੁਸੀਂ ਅਣਿਸ਼ਚਿਤ ਹੋ, ਤਾਂ ਸੋਚੋ ਕਿ ਇਹ ਵਧੇਗਾ—ਅਤੇ ਕਮ ਤੋਂ ਕਮ ਟੈਸਟ ਅਤੇ ਬੁਨਿਆਦੀ ਗਾਰਡਰੇਲਜ਼ ਸ਼ਿਪ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਲਗਾਓ।
ਇੱਕ ਚੰਗੀ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਸਧਾਰਨ ਹੈ: ਤੇਜ਼ੀ ਨਾਲ ਖੋਜ ਕਰਨ ਲਈ ਵਾਈਬ ਵਰਤੋ, ਫਿਰ ਕੁਝ ਵੀ "ਅਸਲੀ" ਬਣਨ ਤੋਂ ਪਹਿਲਾਂ ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਅਨੁਸ਼ਾਸਨ ਲਗਾਓ। ਟਰਿਕ ਇਹ ਹੈ ਕੁਝ ਗੈਰ-ਮੁੜ-ਠੋਕਣ ਯੋਗ ਨਿਯਮ ਨਿਰਧਾਰਤ ਕਰਨਾ ਤਾਂ ਜੋ ਗਤੀ maintenance ਬਿੱਲ ਨਾ ਬਣ ਜਾਵੇ।
ਤੇਜ਼ ਲੂਪ ਰੱਖੋ, ਪਰ ਆਉਟਪੁੱਟ 'ਤੇ ਪਾਬੰਦੀ ਕਰੋ:
ਜੇ ਤੁਸੀਂ Koder.ai ਵਰਗੇ ਪਲੇਟਫਾਰਮ 'ਤੇ ਬਣਾਉਂਦੇ ਹੋ (ਜੋ ਚੈਟ ਰਾਹੀਂ ਪੂਰੇ ਵੈੱਬ/ਸਰਵਰ/ਮੋਬਾਈਲ ਐਪ ਬਣਾਉਂਦਾ ਹੈ), ਇਹ ਨਿਯਮ ਹੋਰ ਵੀ ਜ਼ਰੂਰੀ ਹੋ ਜਾਂਦੇ ਹਨ—ਕਿਉਂਕਿ ਤੇਜ਼ ਜਨਰੇਸ਼ਨ ਤੁਹਾਡੇ ਧਿਆਨ ਨੂੰ ਆਰਕੀਟੈਕਚਰਲ ਡਰਿਫਟ ਨੂੰ ਵੇਖਣ ਤੋਂ ਤੇਜ਼ ਕਰ ਸਕਦੀ ਹੈ। planning mode ਵਰਤਣ ਅਤੇ ਬਦਲਾਅ ਨੂੰ ਛੋਟੇ, ਸਮੀਖਿਆਯੋਗ ਹਿੱਸਿਆਂ ਵਿੱਚ ਰੱਖਣ ਨਾਲ ਗਤੀ ਬਣਾ ਰਹਿੰਦੀ ਹੈ ਪਰ ਪੈਚਵਰਕ ਕੋਡਬੇਸ ਤੋਂ ਬਚਾਉਂਦੀ ਹੈ।
ਜੇ AI ਨੇ ਮਦਦ ਕੀਤੀ, ਤਾਂ ਖਤਮ ਕਰਨ ਦਾ ਮਤਲਬ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:
ਜਦੋਂ ਤੁਹਾਨੂੰ ਪ੍ਰੋਟੋਟਾਈਪ ਤੋਂ “ਅਸਲੀ” ਬਣਨ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਹੱਥ-ਆਫ਼ ਕਰਨ ਦਾ ਸਾਫ਼ ਰਸਤਾ ਪਹਿਲਾਂ ਤੋਂ ਤਰਜੀਹ ਦਿਓ। ਉਦਾਹਰਣ ਲਈ, Koder.ai ਸੋਰਸ ਕੋਡ ਨਿਰਯਾਤ ਅਤੇ ਕਸਟਮ ਡੋਮੇਨ ਨਾਲ deploy/hosting ਸਹਿਯੋਗ ਦਿੰਦਾ ਹੈ, ਜੋ ਸ਼ੁਰੂ ਤੋਂ ਤੇਜ਼ ਹੋ ਕੇ ਫਿਰ ਸਖਤ ਇੰਜੀਨੀਅਰਿੰਗ ਕੰਟਰੋਲਾਂ ਵੱਲ ਤਬਦੀਲ ਹੋਣਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ ਬਿਨਾਂ ਸਿਰੇ ਤੋਂ ਦੁਬਾਰਾ ਬਣਾਉਂਦੇ ਹੋਏ।
ਹਫਤਾਵਾਰੀ ਕੁਝ ਸੰਕੇਤ ਟਰੈਕ ਕਰੋ:
ਜੇ ਇਹ ਸੰਕੇਤ ਉੱਪਰ ਜਾ ਰਹੇ ਹਨ ਜਦੋਂ ਡਿਲਿਵਰੀ ਦੀ ਗਤੀ ਫਲੈਟ ਰਹੇ, ਤਾਂ ਤੁਸੀਂ rushed work 'ਤੇ ਸੁਦੂ ਲੈ ਰਹੇ ਹੋ।
ਇੱਕ ਘੱਟ-ਜੋਖਮ ਫੀਚਰ ਜਾਂ ਅੰਦਰੂਨੀ ਟੂਲ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। ਗਾਰਡਰੇਲਜ਼ ਸੈੱਟ ਕਰੋ (linting, tests, PR review, CI). ਸ਼ਿਪ ਕਰੋ, ਉੱਪਰ ਦਿੱਤੇ ਮੈਟਰਿਕ ਮਾਪੋ, ਅਤੇ ਸਿਰਫ ਉਸ ਥਾਂ ਨਿਯਮ ਕਸੋ ਜਿੱਥੇ ਡੇਟਾ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਦਰਦ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ ਟੀਮ ਸੈਧੇ ਹੋਕੇ ਤੇਜ਼ ਚੱਲ ਸਕਦੀ ਹੈ ਬਿਨਾਂ ਪਿੱਛੇ ਇੱਕ ਗੰਦਾ ਕੋਡਬੇਸ ਛੱਡੇ।
ਵਾਈਬ ਕੋਡਿੰਗ ਇੱਕ ਤੇਜ਼, ਦੁਹਰਾਈ ਵਾਲੀ ਸ਼ੈਲੀ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਬਹੁਤ ਹੱਦ ਤੱਕ AI-ਜਨਰੇਟਡ ਕੋਡ ਅਤੇ ਆਪਣੀ ਅੁਹਸਤਿਆ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦੇ ਹੋ, ਜੋ ਇੱਕ ਲੂਪ ਵਰਗੀ ਹੁੰਦੀ ਹੈ: prompt → generate → try → adjust.
ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਜ਼ਿਆਦਾ ਸੜੀ ਹੋਈ ਹੈ: ਲੋੜਾਂ ਸਪਸ਼ਟ ਕਰੋ, ਡਿਜ਼ਾਈਨ ਬਣਾਓ, ਟੈਸਟਾਂ ਨਾਲ ਇੰਪਲੀਮੈਂਟ ਕਰੋ, ਕੋਡ ਰਿਵਿਊ ਲਓ ਅਤੇ ਐਸੇ ਚੈੱਕਾਂ ਨਾਲ ਮਰਜ ਕਰੋ ਜੋ ਅਚਾਨਕੀਆਂ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ।
ਜਦੋਂ ਤੁਸੀਂ ਪਹਿਲੇ ਦਿਨਾਂ ਵਿੱਚ ਮੋਢੇ-ਤਕ ਕੰਮ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਪਹਿਚਾਣੇ ਹਿੱਸਿਆਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਜੋੜਨਾ ਹੈ ਤਾਂ ਵਾਈਬ ਕੋਡਿੰਗ ਜ਼ਿਆਦਾ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ:
ਗਤੀ ਉਸੇ ਤੋਂ ਆਉਂਦੀ ਹੈ ਕਿ ਮੂੰਹ-ਅੱਗੇ ਯੋਜਨਾ ਘੱਟ ਹੁੰਦੀ ਹੈ ਅਤੇ ਚੱਲਦੇ ਐਪ ਤੋਂ ਤੁਰੰਤ ਪ੍ਰਤਿਕਰਿਆ ਮਿਲਦੀ ਹੈ।
ਪਾਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਜਦੋਂ ਆਖੀਰ-ਕਾਰ ਤੇਜ਼ੀ ਨਾਲ ਜਿੱਤਦੀ ਹੈ ਤਾਂ ਕਾਰਨ ਹੁੰਦਾ ਹੈ rework tax (ਮੁੜ-ਕੰਮ, ਰੀਗ੍ਰੈਸ਼ਨ, ਨਕਲ ਕੀਤਾ ਲਾਜਿਕ, ਅਣਚਾਹੇ ਸਾਈਡ-ਅਸਰ).
ਤੁਸੀਂ ਪਹਿਲਾਂ ਵੱਧ ਖਰਚਾ ਚੁਕਾਉਂਦੇ ਹੋ ਪਰ ਸਪਸ਼ਟਤਾ ਅਤੇ ਅਨੁਕੂਲਤਾ ਮਿਲਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਹਫਤਿਆਂ ਅਤੇ ਮਹੀਨਿਆਂ 'ਚ ਸ਼ਿਪਿੰਗ ਅਧਿਕ ਭਰੋਸੇਯੋਗ ਬਣ ਜਾਂਦੀ ਹੈ—ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਟੀਮ ਤੇ ਕੋਡਬੇਸ ਵੱਡਾ ਹੋ ਜਾਂਦਾ ਹੈ।
“Rework tax” ਉਹ ਲੁਕਿਆ ਹੋਇਆ ਸਮਾਂ-ਖਰਚ ਹੈ ਜੋ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਉਹਨਾਂ ਛੋਟੇ ਰਾਹਤਾਂ ਲਈ ਚੁਕਾਉਂਦੇ ਹੋ ਜੋ ਉਸ ਵੇਲੇ ਸਮਝਦਾਰ ਲੱਗਦੀਆਂ ਸਨ.
ਆਮ ਨਿਸ਼ਾਨ:
ਜੇ ਤੁਹਾਨੂੰ ਰੋਜ਼ਾਨਾ ਪਿਛਲੇ ਕੋਡ ਨੂੰ ਅਟਰਨਾ ਪੈ ਰਿਹਾ ਹੈ ਤਾਂ ਤੁਹਾਡੀ ਸ਼ੁਰੂਆਤੀ ਤੇਜ਼ੀ ਲਗਾਤਾਰ ਖਰਚ ਬਣ ਰਹੀ ਹੈ।
ਆਮ ਜੋਖਮ ਸ਼੍ਰੇਣੀਆਂ:
ਵਾਈਬ ਕੋਡਿੰਗ ਇਨ੍ਹਾਂ ਖਤਰਿਆਂ ਨੂੰ ਵਧਾ ਸਕਦੀ ਹੈ ਕਿਉਂਕਿ AI-ਜਨਰੇਟਡ ਕੋਡ ਬਹੁਤ ਸਹੀ ਲੱਗ ਸਕਦਾ ਹੈ ਪਰ ਅਣਟੈਸਟਡ ਧਾਰਣਾ ਰੱਖਦਾ ਹੈ—ਇਸ ਲਈ ਜੋਖਮ ਅਦੀਖਤ ਰਹਿ ਸਕਦਾ ਹੈ।
ਸਮਾਂ ਨੂੰ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਕੁਝ ਸਧਾਰਨ ਮੈਟ੍ਰਿਕ ਰੱਖੋ:
ਜੇ cycle time ਸ਼ੁਰੂ ਵਿੱਚ ਵਧੀਆ ਹੈ ਪਰ lead time ਬੱਗਫਿਕਸ ਅਤੇ ਰੀ-ਵਰਕ ਕਰਕੇ ਵੱਧਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਤੇਜ਼ੀ ਦੇ ਨਾਲ ਅਸਥਿਰਤਾ ਲਈ ਭੁਗਤਾਨ ਕਰ ਰਹੇ ਹੋ।
ਨਿਮਨਲਿਖਿਤ ਬੁਨਿਆਦੀ ਪੇਖਣ-ਯੋਗਤਾ (observability) 'ਤੇ ਧਿਆਨ ਦਿਓ:
ਇਨ੍ਹਾਂ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਤੇਜ਼ੀ ਨਾਲ ਚਲ ਸਕਦੇ ਹੋ ਅਤੇ ਜਾਣ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਟੁੱਟਿਆ, ਕਿੱਥੇ ਅਤੇ ਕਿਉਂ।
AI-ਸਹਾਇਤ ਜਾਂ ਵਾਈਬ ਕੋਡਡ ਕੰਮ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ROI ਵਾਲੀ ਟੈਸਟ ਰਣਨੀਤੀ ਛੋਟੀ ਪਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਟੈਸਟਾਂ 'ਤੇ ਧਿਆਨ ਹੈ:
ਅਮਲੀ ਨਿਯਮ: ਮਹੱਤਵਪੂਰਨ ਚੀਜ਼ ਲਈ ਘੱਟੋ-ਘੱਟ ਹੋਵੇ।
ਛੋਟੀ ਟੀਮਾਂ ਤੇਜ਼ੀ ਬਿਨਾਂ ਗੁਨਵੱਤਾ ਗਵਾaye ਕੀਤੇ ਕੋਡ ਰਿਵਿਊ ਇਸ ਤਰ੍ਹਾਂ ਕਰ ਸਕਦੀਆਂ ਹਨ:
ਰਿਵਿਊਜ਼ ਡਿਜ਼ਾਈਨ ਡਰਿਫਟ ਅਤੇ ਆਪਰੇਸ਼ਨਲ ਮੁੱਦਿਆਂ ਨੂੰ ਫੜਦੇ ਹਨ ਜੋ ਟੈਸਟ ਅਕਸਰ ਨਹੀਂ ਪਕੜਦੇ।
ਉਦਾਹਰਣ-ਨਿਰਭਰ ਨਿਯਮ:
AI-ਜਨਰੇਟਡ ਕੋਡ ਅਕਸਰ ਲਾਈਬ੍ਰੇਰੀਆਂ ਨੂੰ ਲਿਆਉਂਦਾ ਹੈ “ਕਿਉਂਕਿ ਉਹ ਕੰਮ ਕਰਦੇ ਹਨ,” ਨਾ ਕਿ ਇਸ ਲਈ ਕਿ ਉਹ ਉਚਿਤ ਹਨ—ਇਸ ਨਾਲ dependency-supply-chain ਹੈਜ਼ਰਡ ਆ ਸਕਦੇ ਹਨ।
ਅਮਲੀ ਗਾਰਡਰੇਲਜ਼:
ਨਿਯਮ: ਦਿਓ ਕਿ ਕਿਸ ਹਾਲਤ ਵਿੱਚ ਕਿਹੜਾ ਦ੍ਰਿਸ਼ਯ ਉਚਿਤ ਹੈ।
ਵਾਈਬ ਕੋਡਿੰਗ ਚੰਗਾ ਹੈ ਜਦੋਂ ਟੀਚਾ ਤੇਜ਼ੀ ਨਾਲ ਸਿੱਖਣਾ ਹੋਵੇ—ਜਿਵੇਂ ਪ੍ਰੋਟੋਟਾਈਪ, ਅੰਦਰੂਨੀ ਸੰਦ, ਡੈਮੋ, ਜਾਂ ਇੱਕ-ਵਾਰੀ ਸਕ੍ਰਿਪਟ।
ਪਰੰਪਰਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਜ਼ਰੂਰੀ ਹੈ ਜਦੋਂ ਨੁਕਸਾਨ ਦਾ ਖਰਚ ਸੂਚਨੀ-ਕਾਂਸੀਕ ਹੈ—ਭੁਗਤਾਨਾਂ, ਹੈਲਥਕੇਅਰ, ਆਥੋਰੀਜ਼ੇਸ਼ਨ, ਇੰਫ੍ਰਾਸਟਰੱਕਚਰ, ਜਾਂ ਨਿਯਮਤ ਡੇਟਾ।
ਹਾਈਬ੍ਰਿਡ ਪੈਟਰਨ: vibe to discover, engineer to deliver — ਪਹਿਲਾਂ ਵਾਈਬ ਨਾਲ ਪਰਖੋ, ਫਿਰ ਜਦੋਂ ਮੁੱਲ ਸਾਬਤ ਹੋ ਜਾਵੇ ਤਾਂ ਪ੍ਰੋਟੋਟਾਈਪ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਗ-ਟੈਸਟ-ਰੀਵਿਊ ਨਾਲ ਮਜ਼ਬੂਤ ਕਰੋ।
ਇਨ੍ਹਾਂ ਨੂੰ CI 'ਚ ਕੇਂਦ੍ਰਿਤ ਕਰੋ ਤਾਂ ਤੇਜ਼ ਰਸਤਾ ਹੀ ਸੁਰੱਖਿਅਤ ਰਸਤਾ ਬਣੇ।