à¦à¦†à¦‡ কোডিং ডিবাগিং: কোড…
সপà§à¦¤à¦¾à¦¹ ধরে সূকà§à¦·à§à¦®à¦à¦¾à¦¬à§‡ কাজ করা à¦à¦•টি বৈশিষà§à¦Ÿà§à¦¯ হঠাৎ কাজ করা বনà§à¦§ করে দেয় à¦à¦¬à¦‚ à¦à¦° কোনো সà§à¦¸à§à¦ªà¦·à§à¦Ÿ কারণ নেই - কেউ অà§à¦¯à¦¾à¦ªà¦Ÿà¦¿à¦° সেই অংশটি সà§à¦ªà¦°à§à¦¶ করেনি। à¦à¦Ÿà¦¿ à¦à¦•টি AI-নিরà§à¦®à¦¿à¦¤ পণà§à¦¯ চালানোর আরও বিà¦à§à¦°à¦¾à¦¨à§à¦¤à¦¿à¦•র মà§à¦¹à§‚রà§à¦¤à¦—à§à¦²à¦¿à¦° মধà§à¦¯à§‡ à¦à¦•টি, কারণ “আমি কী à¦à§‡à¦™à§‡à¦›à¦¿?” জিজà§à¦žà¦¾à¦¸à¦¾ করার পà§à¦°à¦¬à§ƒà¦¤à§à¦¤à¦¿à¥¤ à¦à¦®à¦¨ পরিসà§à¦¥à¦¿à¦¤à¦¿à¦° সাথে খাপ খায় না যেখানে ইচà§à¦›à¦¾à¦•ৃতà¦à¦¾à¦¬à§‡ কিছà§à¦‡ পরিবরà§à¦¤à¦¨ করা হয়নি। à¦à¦‡ পরিসà§à¦¥à¦¿à¦¤à¦¿à¦¤à§‡ AI কোডিং ডিবাগিং-à¦à¦° à¦à¦•টি নিরà§à¦¦à¦¿à¦·à§à¦Ÿ, অরà§à¦¡à¦¾à¦° করা জিনিসের সেট আছে à¦à¦¬à¦‚ সেগà§à¦²à§‹à¦° মাধà§à¦¯à¦®à§‡ কাজ করা অনà§à¦®à¦¾à¦¨ করার চেয়ে দà§à¦°à§à¦¤à¦¤à¦°à¥¤
আসলে কী পরিবরà§à¦¤à¦¨ হয়েছে তা দিয়ে শà§à¦°à§ করà§à¦¨
কোডটি সà§à¦ªà¦°à§à¦¶ করার আগে, বৈশিষà§à¦Ÿà§à¦¯à¦Ÿà¦¿ শেষ কাজ করার পর থেকে আসলে কী আলাদা তা সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨à¥¤ সাধারণ উতà§à¦¤à¦°: à¦à¦•টি নিরà§à¦à¦°à¦¤à¦¾ আপডেট করা হয়েছিল (à¦à¦®à¦¨à¦•ি সà§à¦¬à¦¯à¦¼à¦‚কà§à¦°à¦¿à¦¯à¦¼à¦à¦¾à¦¬à§‡), à¦à¦•টি ডেটা à¦à¦²à¦¿à¦‰à¦® থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡ কà§à¦°à¦¸ করা হয়েছিল, à¦à¦•টি বাহà§à¦¯à¦¿à¦• API যা কোড কল করে তার আচরণ পরিবরà§à¦¤à¦¨ করেছে, বা à¦à¦•টি সমà§à¦ªà¦°à§à¦•িত বৈশিষà§à¦Ÿà§à¦¯ à¦à¦®à¦¨à¦à¦¾à¦¬à§‡ সংশোধন করা হয়েছে যা অপà§à¦°à¦¤à§à¦¯à¦¾à¦¶à¦¿à¦¤à¦à¦¾à¦¬à§‡ à¦à¦•ই ডেটা সà§à¦ªà¦°à§à¦¶ করে। à¦à¦†à¦‡-জেনারেটেড কোডটি à¦à¦‡ শেষের জনà§à¦¯ বিশেষà¦à¦¾à¦¬à§‡ সংবেদনশীল, কারণ আলাদা পà§à¦°à¦®à§à¦ªà¦Ÿà§‡ নিরà§à¦®à¦¿à¦¤ বৈশিষà§à¦Ÿà§à¦¯à¦—à§à¦²à¦¿ সবসময় তাদের à¦à¦¾à¦— করা নিরà§à¦à¦°à¦¤à¦¾à¦•ে সà§à¦ªà¦·à§à¦Ÿ করে তোলে না — à¦à¦• জায়গায় পরিবরà§à¦¤à¦¨ নীরবে অনà§à¦¯à¦•ে পà§à¦°à¦à¦¾à¦¬à¦¿à¦¤ করতে পারে।
চেক 1: কোডের নীচে à¦à¦•টি নিরà§à¦à¦°à¦¤à¦¾ পরিবরà§à¦¤à¦¨ করেছে
যদি পà§à¦°à¦•লà§à¦ªà¦Ÿà¦¿ সà§à¦¬à¦¯à¦¼à¦‚কà§à¦°à¦¿à¦¯à¦¼ বা ঢিলেঢালাà¦à¦¾à¦¬à§‡ পিন করা নিরà§à¦à¦°à¦¤à¦¾ সংসà§à¦•রণ বà§à¦¯à¦¬à¦¹à¦¾à¦° করে, তবে à¦à¦•টি পà§à¦¯à¦¾à¦•েজ আপডেট কেউ অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশন কোডের à¦à¦•টি লাইন সà§à¦ªà¦°à§à¦¶ না করে আচরণ পরিবরà§à¦¤à¦¨ করতে পারে। বৈশিষà§à¦Ÿà§à¦¯à¦Ÿà¦¿ কখন à¦à§‡à¦™à§‡ গেছে তার সময়ের বিপরীতে নিরà§à¦à¦°à¦¤à¦¾ লকফাইলের ইতিহাস পরীকà§à¦·à¦¾ করà§à¦¨ — à¦à¦Ÿà¦¿ à¦à¦•টি দà§à¦°à§à¦¤ পরীকà§à¦·à¦¾ à¦à¦¬à¦‚ “কিছà§à¦‡ পরিবরà§à¦¤à¦¿à¦¤ হয়নি তবে à¦à¦Ÿà¦¿ à¦à§‡à¦™à§‡ গেছে” কেসগà§à¦²à¦¿à¦° সমà§à¦ªà§‚রà§à¦£ বিà¦à¦¾à¦—কে বাতিল করে।
চেক 2: ডেটা কি à¦à¦•টি থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡ অতিকà§à¦°à¦® করেছে৷
যে কোডটি অনà§à¦®à¦¾à¦¨ করে যে à¦à¦•টি তালিকা ছোট থাকবে, à¦à¦•টি সংখà§à¦¯à¦¾ ছোট থাকবে, বা à¦à¦•টি সà§à¦Ÿà§à¦°à¦¿à¦‚ কিছৠদৈরà§à¦˜à§à¦¯à§‡à¦° নীচে থাকবে দীরà§à¦˜ সময়ের জনà§à¦¯ সঠিকà¦à¦¾à¦¬à§‡ কাজ করতে পারে à¦à¦¬à¦‚ তারপর ঠিক তখন বà§à¦¯à¦°à§à¦¥ হয় যখন পà§à¦°à¦•ৃত বà§à¦¯à¦¬à¦¹à¦¾à¦° à¦à¦•টি থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡ অতিকà§à¦°à¦® করে কেউ পরীকà§à¦·à¦¾ করার কথা à¦à¦¾à¦¬à§‡à¦¨à¦¿à¥¤ à¦à¦Ÿà¦¿ à¦à¦†à¦‡-জেনারেটেড কোডে সাধারণ কারণ মূল পà§à¦°à¦®à§à¦ªà¦Ÿà§‡ সà§à¦•েল অনà§à¦®à¦¾à¦¨à¦—à§à¦²à¦¿ খà§à¦¬ কমই সà§à¦ªà¦·à§à¦Ÿà¦à¦¾à¦¬à§‡ বলা হয়, তাই à¦à¦†à¦‡-à¦à¦° তাদের বিরà§à¦¦à§à¦§à§‡ সতরà§à¦• থাকার কোনও কারণ নেই।
চেক 3: à¦à¦•টি বহিরাগত পরিষেবা কি তার আচরণ পরিবরà§à¦¤à¦¨ করেছে৷
যদি বৈশিষà§à¦Ÿà§à¦¯à¦Ÿà¦¿ তৃতীয় পকà§à¦·à§‡à¦° API-à¦à¦° উপর নিরà§à¦à¦° করে, তাহলে সেই পরিষেবাটির সà§à¦¥à¦¿à¦¤à¦¿ পৃষà§à¦ া বা চেঞà§à¦œà¦²à¦— পরীকà§à¦·à¦¾ করà§à¦¨à¥¤ à¦à¦†à¦‡-জেনারেটেড ইনà§à¦Ÿà¦¿à¦—à§à¦°à§‡à¦¶à¦¨ কোড কখনও কখনও à¦à¦•টি সà§à¦ªà¦·à§à¦Ÿ গà§à¦¯à¦¾à¦°à¦¾à¦¨à§à¦Ÿà¦¿à¦¯à§à¦•à§à¦¤ চà§à¦•à§à¦¤à¦¿à¦° পরিবরà§à¦¤à§‡ à¦à¦•টি বহিরাগত পরিষেবা থেকে অনথিà¦à§à¦•à§à¦¤ বা ডিফলà§à¦Ÿ আচরণের উপর নিরà§à¦à¦° করে - à¦à¦•টি পরিষেবার জনà§à¦¯ তাদের পরিবরà§à¦¤à¦¿à¦¤ হওয়ার জনà§à¦¯ à¦à¦•টি সমà§à¦ªà§‚রà§à¦£ যà§à¦•à§à¦¤à¦¿à¦¸à¦™à§à¦—ত বিষয়, তবে à¦à¦Ÿà¦¿ à¦à¦•টি অবà§à¦¯à¦•à§à¦¤ বিরতি হিসাবে আপনার উপর অবতরণ করে।
চেক 4: à¦à¦•টি সমà§à¦ªà¦°à§à¦•িত বৈশিষà§à¦Ÿà§à¦¯à§‡à¦° টাচ শেয়ারà§à¦¡ লজিক পরিবরà§à¦¤à¦¨ করেছে
যদি à¦à¦•টি à¦à¦¿à¦¨à§à¦¨ বৈশিষà§à¦Ÿà§à¦¯ সমà§à¦ªà§à¦°à¦¤à¦¿ পরিবরà§à¦¤à¦¨ করা হয়, তাহলে à¦à¦Ÿà¦¿ à¦à¦•টি ফাংশন, à¦à¦•টি ডেটা মডেল, বা à¦à¦•টি বৈধতা নিয়ম যেটি à¦à§‡à¦™à§‡à¦›à§‡ তার সাথে à¦à¦¾à¦— করে কিনা তা পরীকà§à¦·à¦¾ করে দেখà§à¦¨à§· à¦à¦Ÿà¦¿ হল অসামঞà§à¦œà¦¸à§à¦¯à¦¤à¦¾à¦° à¦à§à¦à¦•ি যা অনেকগà§à¦²à¦¿ পৃথক AI পà§à¦°à¦®à§à¦ªà¦Ÿ জà§à¦¡à¦¼à§‡ তৈরি à¦à¦•টি কোডবেস থেকে আসে — à¦à¦•টি বৈশিষà§à¦Ÿà§à¦¯à§‡à¦° জনà§à¦¯ উদà§à¦¦à¦¿à¦·à§à¦Ÿ à¦à¦•টি পরিবরà§à¦¤à¦¨ অনà§à¦¯à¦Ÿà¦¿à¦•ে পà§à¦°à¦à¦¾à¦¬à¦¿à¦¤ করতে পারে যা শানà§à¦¤à¦à¦¾à¦¬à§‡ à¦à¦•ই অনà§à¦¤à¦°à§à¦¨à¦¿à¦¹à¦¿à¦¤ যà§à¦•à§à¦¤à¦¿à¦° উপর নিরà§à¦à¦° করে।
চেক 5: বà§à¦¯à¦°à§à¦¥à¦¤à¦¾ আসলে নতà§à¦¨, নাকি নতà§à¦¨à¦à¦¾à¦¬à§‡ দৃশà§à¦¯à¦®à¦¾à¦¨
কখনও কখনও বাগটি সরà§à¦¬à¦¦à¦¾ সেখানে ছিল - à¦à¦•টি নীরব বà§à¦¯à¦°à§à¦¥à¦¤à¦¾ যা à¦à¦•টি দৃশà§à¦¯à¦®à¦¾à¦¨ তà§à¦°à§à¦Ÿà¦¿ তৈরি করে না - à¦à¦¬à¦‚ à¦à¦Ÿà¦¿ শà§à¦§à§à¦®à¦¾à¦¤à§à¦° তখনই লকà§à¦·à¦£à§€à¦¯à¦¼ হয়ে ওঠে যখন যথেষà§à¦Ÿ পরিমাণ বা à¦à¦•টি নিরà§à¦¦à¦¿à¦·à§à¦Ÿ ইনপà§à¦Ÿ সংমিশà§à¦°à¦£ ঘটে। বাগটি নতà§à¦¨ বলে ধরে নেওয়ার আগে পà§à¦°à¦•ৃত তà§à¦°à§à¦Ÿà¦¿à¦° জনà§à¦¯ লগগà§à¦²à¦¿ (যদি সেগà§à¦²à¦¿ বিদà§à¦¯à¦®à¦¾à¦¨ থাকে) পরীকà§à¦·à¦¾ করà§à¦¨, কেবলমাতà§à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর রিপোরà§à¦Ÿ করা লকà§à¦·à¦£ নয়।
চেক 6: à¦à¦•টি কনফিগারেশন বা পরিবেশের মান পরিবরà§à¦¤à¦¨ করেছে
à¦à¦¨à¦à¦¾à¦¯à¦¼à¦°à¦¨à¦®à§‡à¦¨à§à¦Ÿ à¦à§‡à¦°à¦¿à¦¯à¦¼à§‡à¦¬à¦², ফিচার ফà§à¦²à§à¦¯à¦¾à¦— à¦à¦¬à¦‚ কনফিগারেশন মানগà§à¦²à¦¿ উপেকà§à¦·à¦¾ করা সহজ কারণ তারা কোডের বাইরে থাকে। à¦à¦•টি মান যা পরীকà§à¦·à¦¾à¦° সময় মà§à¦¯à¦¾à¦¨à§à¦¯à¦¼à¦¾à¦²à¦¿ সেট করা হয়েছিল à¦à¦¬à¦‚ কখনও সà§à¦¥à¦¿à¦° থাকে না, বা à¦à¦•টি পতাকা যা পà§à¦¨à¦°à¦¾à¦¯à¦¼ সà§à¦¥à¦¾à¦ªà¦¨à§‡à¦° পরে শানà§à¦¤à¦à¦¾à¦¬à§‡ à¦à¦•টি ডিফলà§à¦Ÿà§‡ পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à¦°à§à¦¤à¦¿à¦¤ হয়, কোনও কোড পরিবরà§à¦¤à¦¨ ছাড়াই কোনও বৈশিষà§à¦Ÿà§à¦¯à¦•ে কাজ করা বনà§à¦§ করে দিতে পারে৷ à¦à¦‡ চেকটি দà§à¦°à§à¦¤ à¦à¦¬à¦‚ পà§à¦°à¦¾à¦¯à¦¼à¦¶à¦‡ শেষ পরà§à¦¯à¦¨à§à¦¤ বাতিল করা হয়, যখন à¦à¦Ÿà¦¿ সাধারণত তাড়াতাড়ি বাতিল করা উচিত।
কারণটি নথিà¦à§à¦•à§à¦¤ করà§à¦¨, শà§à¦§à§ সমাধান নয়
à¦à¦•বার আপনি পà§à¦°à¦•ৃত কারণটি খà§à¦à¦œà§‡ পেলে, à¦à¦Ÿà¦¿ কী ছিল à¦à¦¬à¦‚ কেন à¦à¦Ÿà¦¿ ঘটেছে তা লিখà§à¦¨, à¦à¦®à¦¨à¦•ি সংকà§à¦·à¦¿à¦ªà§à¦¤à¦à¦¾à¦¬à§‡ — à¦à¦Ÿà¦¿ ঠিক করতে শà§à¦§à§ কী কোড পরিবরà§à¦¤à¦¨ করা হয়েছে তা নয়। à¦à¦Ÿà¦¿ AI কোডিং ডিবাগিংয়ের জনà§à¦¯ বিশেষà¦à¦¾à¦¬à§‡ গà§à¦°à§à¦¤à§à¦¬à¦ªà§‚রà§à¦£ কারণ à¦à¦•ই বিà¦à¦¾à¦—ের কারণ (à¦à¦•টি নিরà§à¦à¦°à¦¤à¦¾ আপডেট, à¦à¦•টি ডেটা থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡, à¦à¦•টি শেয়ারà§à¦¡ লজিক পরিবরà§à¦¤à¦¨) à¦à¦•ই কোডবেসের বিà¦à¦¿à¦¨à§à¦¨ বৈশিষà§à¦Ÿà§à¦¯ জà§à¦¡à¦¼à§‡ পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ হয়। à¦à¦‡ সময় পরিবরà§à¦¤à¦¿à¦¤ কোডের নিরà§à¦¦à¦¿à¦·à§à¦Ÿ লাইনের চেয়ে “à¦à¦‡ শà§à¦°à§‡à¦£à§€à¦° জিনিসটি আমাদের আগে কামড় দিয়েছে” à¦à¦° à¦à¦•টি সংকà§à¦·à¦¿à¦ªà§à¦¤ রেকরà§à¦¡ পà§à¦°à¦¾à¦¯à¦¼à¦‡ পরবরà§à¦¤à§€ ঘটনার জনà§à¦¯ বেশি কারà§à¦¯à¦•র।
à¦à¦†à¦‡ কোডিং ডিবাগিংয়ের জনà§à¦¯ à¦à¦•টি সমসà§à¦¯à¦¾ সমাধানের আদেশ
| অরà§à¦¡à¦¾à¦° | কি চেক করতে হবে | কেন à¦à¦‡ সময়ে à¦à¦Ÿà¦¾ চেক করà§à¦¨ |
|---|---|---|
| 1 | সমà§à¦ªà§à¦°à¦¤à¦¿ কি পরিবরà§à¦¤à¦¿à¦¤ হয়েছে (সà§à¦¥à¦¾à¦ªà¦¨, পà§à¦°à¦®à§à¦ªà¦Ÿ, নিরà§à¦à¦°à¦¤à¦¾) | অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ সà§à¦¥à¦¾à¦¨ সংকীরà§à¦£ করার দà§à¦°à§à¦¤à¦¤à¦® উপায় |
| 2 | নিরà§à¦à¦°à¦¤à¦¾ সংসà§à¦•রণ à¦à¦¬à¦‚ লকফাইল ইতিহাস | শূনà§à¦¯ অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশন কোড পরিবরà§à¦¤à¦¨à§‡à¦° সাথে আচরণ à¦à¦¾à¦™à¦¤à§‡ পারে |
| 3 | ডেটা à¦à¦²à¦¿à¦‰à¦® বা মান থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡ | à¦à¦†à¦‡-উতà§à¦ªà¦¨à§à¦¨ যà§à¦•à§à¦¤à¦¿à¦¤à§‡ সাধারণ অনà§à¦§ সà§à¦ªà¦Ÿ |
| 4 | বাহà§à¦¯à¦¿à¦• সেবা আচরণ পরিবরà§à¦¤à¦¨ | আপনার নিয়নà§à¦¤à§à¦°à¦£à§‡à¦° বাইরে কিনà§à¦¤à§ à¦à¦–নও আপনার বাগ হিসাবে অবতরণ |
| 5 | শেয়ার করা যà§à¦•à§à¦¤à¦¿ অনà§à¦¯ বৈশিষà§à¦Ÿà§à¦¯ দà§à¦¬à¦¾à¦°à¦¾ সà§à¦ªà¦°à§à¦¶ | কà§à¦°à¦¸-বৈশিষà§à¦Ÿà§à¦¯à§‡à¦° অসামঞà§à¦œà¦¸à§à¦¯à¦¤à¦¾à¦° লকà§à¦·à¦£ |
| 6 | কনফিগারেশন à¦à¦¬à¦‚ পরিবেশের মান | উপেকà§à¦·à¦¾ করা সহজ, কিছৠà¦à¦¾à¦™à¦¤à§‡ কোড পরিবরà§à¦¤à¦¨à§‡à¦° পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨ নেই |
| 7 | বà§à¦¯à¦°à§à¦¥à¦¤à¦¾ নতà§à¦¨ হোক বা নতà§à¦¨à¦à¦¾à¦¬à§‡ দৃশà§à¦¯à¦®à¦¾à¦¨ হোক à¦à¦•টি দীরà§à¦˜à¦¸à§à¦¥à¦¾à¦¯à¦¼à§€ নীরব বাগ থেকে à¦à¦•টি রিগà§à¦°à§‡à¦¶à¦¨à¦•ে আলাদা করে |
কখন à¦à¦•া ডিবাগিং বনà§à¦§ করবেন
আপনি যদি à¦à¦‡ তালিকার মাধà§à¦¯à¦®à§‡ কাজ করে থাকেন à¦à¦¬à¦‚ ফিকà§à¦¸à¦Ÿà¦¿ ধরে না থাকে — “সà§à¦¥à¦¿à¦°” হওয়ার পরে à¦à¦•ই লকà§à¦·à¦£ ফিরে আসে — à¦à¦Ÿà¦¿ সাধারণত কোডবেসের à¦à¦•াধিক জায়গায় অনà§à¦¤à¦°à§à¦¨à¦¿à¦¹à¦¿à¦¤ পà§à¦¯à¦¾à¦Ÿà¦¾à¦°à§à¦¨ বিদà§à¦¯à¦®à¦¾à¦¨ থাকে, à¦à¦®à¦¨ নয় যে সংশোধনটি à¦à§à¦² ছিল। কেন à¦à¦†à¦‡-জেনারেটেড কোড কাজ করে, তাহলে কেন à¦à¦Ÿà¦¿ à¦à¦¾à¦™à¦¤à§‡ থাকে বিশেষà¦à¦¾à¦¬à§‡ à¦à¦‡ পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿-à¦à¦¾à¦™à§à¦—া পà§à¦¯à¦¾à¦Ÿà¦¾à¦°à§à¦¨à§‡à¦° গà¦à§€à¦°à§‡ যায়। à¦à¦¬à¦‚ যদি সমসà§à¦¯à¦¾à¦Ÿà¦¿ পà§à¦°à¦®à¦¾à¦£à§€à¦•রণ, অরà§à¦¥à¦ªà§à¦°à¦¦à¦¾à¦¨, বা বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ডেটা সà§à¦ªà¦°à§à¦¶ করে, তবে à¦à¦Ÿà¦¿à¦•ে à¦à¦•া পà§à¦¯à¦¾à¦š করার পরিবরà§à¦¤à§‡ à¦à¦•টি সà§à¦¬à¦¾à¦§à§€à¦¨ পরà§à¦¯à¦¾à¦²à§‹à¦šà¦¨à¦¾ আনà§à¦¨ — দেখà§à¦¨ [কেন à¦à¦†à¦‡-জেনারেটেড কোড ডিবাগ করার জনà§à¦¯ à¦à¦–নও সফà§à¦Ÿà¦“য়à§à¦¯à¦¾à¦° ইঞà§à¦œà¦¿à¦¨à¦¿à¦¯à¦¼à¦¾à¦°à¦¿à¦‚ দকà§à¦·à¦¤à¦¾à¦° পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨ হয়](/blog/why-debugging-ai-generated-code-still-requires-Engineering-à¦à¦° জনà§à¦¯ কোড কেন গà§à¦°à§à¦¤à§à¦¬à¦ªà§‚রà§à¦£)।
বাগ বিà¦à¦¾à¦—ের পূরà§à¦£à¦¾à¦™à§à¦— তালিকার জনà§à¦¯ à¦à¦‡ সমসà§à¦¯à¦¾ সমাধানের কà§à¦°à¦®à¦Ÿà¦¿ থেকে নেওয়া হয়েছে, à¦à¦†à¦‡ কোডিং বাগ: কেন à¦à¦†à¦‡-জেনারেটেড সফà§à¦Ÿà¦“য়à§à¦¯à¦¾à¦° à¦à¦•টি ডেমোতে কাজ করতে পারে কিনà§à¦¤à§ উতà§à¦ªà¦¾à¦¦à¦¨à§‡ বà§à¦¯à¦°à§à¦¥ হয় পà§à¦°à¦¤à¦¿à¦Ÿà¦¿à¦•ে পৃথকà¦à¦¾à¦¬à§‡ à¦à§‡à¦™à§‡ দেয়।
টেকঅà§à¦¯à¦¾à¦“য়ে
যখন AI-জেনারেটেড কোড যা কাজ করত তা হঠাৎ বনà§à¦§ হয়ে যায়, আসলে কী পরিবরà§à¦¤à¦¨ হয়েছে তা পà§à¦°à¦¤à¦¿à¦·à§à¦ া করার আগে কোড পà§à¦¨à¦°à§à¦²à¦¿à¦–ন শà§à¦°à§ করার তাগিদকে পà§à¦°à¦¤à¦¿à¦¹à¦¤ করà§à¦¨à¥¤ নিরà§à¦à¦°à¦¤à¦¾ পরিবরà§à¦¤à¦¨, ডেটা থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡, বাহà§à¦¯à¦¿à¦• পরিষেবা à¦à¦¬à¦‚ শেয়ারà§à¦¡ লজিকের মাধà§à¦¯à¦®à§‡ কাজ করা অনà§à¦®à¦¾à¦¨à§‡à¦° চেয়ে দà§à¦°à§à¦¤ আসল কারণকে সামনে আনবে — à¦à¦¬à¦‚ যদি à¦à¦•ই উপসরà§à¦— ফিরে আসতে থাকে, তাহলে à¦à¦•ই সমাধানের পঞà§à¦šà¦® পà§à¦°à¦šà§‡à¦·à§à¦Ÿà¦¾à¦° পরিবরà§à¦¤à§‡ à¦à¦Ÿà¦¿ চোখের দà§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ সেট আনার সংকেত।
à¦à¦®à¦¨ কিছৠযা কাজ করত শà§à¦§à§ à¦à§‡à¦™à§‡ গেছে?
MVPHUB যখন বৈশিষà§à¦Ÿà§à¦¯à¦—à§à¦²à¦¿ সতরà§à¦•তা ছাড়াই কাজ করা বনà§à¦§ করে তখন AI-জেনারেটেড কোডবেসগà§à¦²à¦¿à¦° সমসà§à¦¯à¦¾ সমাধানে পà§à¦°à¦¤à¦¿à¦·à§à¦ াতাদের সাহাযà§à¦¯ করে৷ পà§à¦°à¦•ৃতপকà§à¦·à§‡ কী ঘটছে তা à¦à¦•টি পেশাদার চেহারা পেতে MVPHUB-à¦à¦° সাথে à¦à¦•টি বিনামূলà§à¦¯à§‡ পরামরà§à¦¶ বà§à¦• করà§à¦¨à§·
MVPHUB à¦à¦° সাথে à¦à¦•টি বিনামূলà§à¦¯à§‡ পরামরà§à¦¶ বà§à¦• করà§à¦¨সচরাচর জিজ্ঞাস্য
AI-উতà§à¦ªà¦¨à§à¦¨ বৈশিষà§à¦Ÿà§à¦¯ হঠাৎ কাজ করা বনà§à¦§ করে দিলে পà§à¦°à¦¥à¦®à§‡ আমার কী পরীকà§à¦·à¦¾ করা উচিত?
আসলে যা পরিবরà§à¦¤à¦¿à¦¤ হয়েছে তা দিয়ে শà§à¦°à§ করà§à¦¨ - à¦à¦•টি সামà§à¦ªà§à¦°à¦¤à¦¿à¦• পà§à¦°à¦®à§à¦ªà¦Ÿ, à¦à¦•টি নিরà§à¦à¦°à¦¤à¦¾ আপডেট, বা à¦à¦•টি ডেটা শরà§à¦¤ যা নতà§à¦¨à§· AI কোডিং ডিবাগিং দà§à¦°à§à¦¤ হয়ে যায় যখন আপনি সমà§à¦ªà§‚রà§à¦£ কোডবেস অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করার আগে 'শেষ কাজ করার পর থেকে à¦à¦¿à¦¨à§à¦¨ কী' বাতিল করে দেন।
কয়েক সপà§à¦¤à¦¾à¦¹ ধরে কাজ করার পর à¦à¦†à¦‡-জেনারেটেড কোড বà§à¦°à§‡à¦• করলে à¦à¦Ÿà¦¾ কি আমার দোষ?
অগতà§à¦¯à¦¾ নয় - à¦à¦Ÿà¦¿ পà§à¦°à¦¾à¦¯à¦¼à¦¶à¦‡ à¦à¦®à¦¨ à¦à¦•টি শরà§à¦¤ যা আগে বিদà§à¦¯à¦®à¦¾à¦¨ ছিল না, যেমন ডেটা à¦à¦²à¦¿à¦‰à¦® থà§à¦°à§‡à¦¶à¦¹à§‹à¦²à§à¦¡, à¦à¦•টি অসà§à¦¬à¦¾à¦à¦¾à¦¬à¦¿à¦• ইনপà§à¦Ÿ মান, বা কোডের নীচে পরিবরà§à¦¤à¦¿à¦¤ নিরà§à¦à¦°à¦¤à¦¾à¥¤ à¦à¦Ÿà¦¿à¦•ে à¦à¦•টি ডিবাগিং পà§à¦°à¦¶à§à¦¨ হিসাবে বিবেচনা করà§à¦¨, দোষের পà§à¦°à¦¶à§à¦¨ নয়।
আমি কি AI কে তার নিজের à¦à¦¾à¦™à¦¾ কোড ঠিক করতে বলব?
à¦à¦Ÿà¦¿ à¦à¦•টি পà§à¦°à¦¥à¦® পদকà§à¦·à§‡à¦ª হিসাবে চেষà§à¦Ÿà¦¾ করার মতো, তবে à¦à¦•টি AI ডিবাগিং à¦à¦° নিজসà§à¦¬ আউটপà§à¦Ÿà§‡ à¦à¦•ই অনà§à¦§ দাগ রয়েছে যা মূল ফাà¦à¦• তৈরি করেছে। যদি পà§à¦°à¦¥à¦® সংশোধন না হয়, ছোট à¦à¦¿à¦¨à§à¦¨à¦¤à¦¾à¦° সাথে à¦à¦•ই পà§à¦°à¦®à§à¦ªà¦Ÿ পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ না করে à¦à¦•টি সà§à¦¬à¦¾à¦§à§€à¦¨ পরà§à¦¯à¦¾à¦²à§‹à¦šà¦¨à¦¾ আনà§à¦¨à¥¤
à¦à¦•টি বাগ বিচà§à¦›à¦¿à¦¨à§à¦¨ বা à¦à¦•টি বিসà§à¦¤à§ƒà¦¤ পà§à¦¯à¦¾à¦Ÿà¦¾à¦°à§à¦¨à§‡à¦° à¦à¦•টি উপসরà§à¦— কিনা তা আমি কিà¦à¦¾à¦¬à§‡ জানতে পারি?
à¦à¦•ই ধরণের যà§à¦•à§à¦¤à¦¿à¦° জনà§à¦¯ বাকি কোডবেস অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨ — à¦à¦•ই ডেটা টাইপ পরিচালনা করা হয়েছে, à¦à¦•ই বৈধকরণ পদকà§à¦·à§‡à¦ª, à¦à¦•ই বহিরাগত কল। আপনি যদি অনà§à¦¯ কোথাও à¦à¦•ই পà§à¦¯à¦¾à¦Ÿà¦¾à¦°à§à¦¨ খà§à¦à¦œà§‡ পান, তবে সমসà§à¦¤ ঘটনাকে সনà§à¦¦à§‡à¦¹à¦à¦¾à¦œà¦¨ হিসাবে বিবেচনা করà§à¦¨, শà§à¦§à§ যেটি পà§à¦°à¦•াশিত হয়েছে তা নয়।
কখন আমি নিজেকে ডিবাগ করা বনà§à¦§ করব à¦à¦¬à¦‚ à¦à¦•টি পেশাদার পরà§à¦¯à¦¾à¦²à§‹à¦šà¦¨à¦¾ পেতে পারি?
যদি বাগটি পà§à¦°à¦®à¦¾à¦£à§€à¦•রণ, অরà§à¦¥à¦ªà§à¦°à¦¦à¦¾à¦¨, বা বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ডেটা সà§à¦ªà¦°à§à¦¶ করে, অথবা আপনি যদি à¦à¦•ই লকà§à¦·à¦£à¦Ÿà¦¿à¦•ে সà§à¦¥à¦¿à¦° না রেখে à¦à¦•াধিকবার সংশোধন করে থাকেন, তবে à¦à¦Ÿà¦¿à¦•ে à¦à¦•া পà§à¦¯à¦¾à¦š করা চালিয়ে যাওয়ার পরিবরà§à¦¤à§‡ à¦à¦•জন সà§à¦¬à¦¾à¦§à§€à¦¨, পেশাদারà¦à¦¾à¦¬à§‡ অà¦à¦¿à¦œà§à¦ž পরà§à¦¯à¦¾à¦²à§‹à¦šà¦•কে আনতে হবে।