پچھلے دو سالوں کے دوران، ورک اینڈ کمپنی میں میری ٹیم اور میں AI کوڈنگ ٹولز جیسے Copilot، Cursor، Claude، اور ChatGPT کو آزما رہے ہیں اور ان کو بتدریج انٹیگریٹ کر رہے ہیں تاکہ ہمیں ویب تجربات بھیجنے میں مدد ملے جو عوام کے ذریعہ استعمال ہوتے ہیں۔ بلاشبہ، کچھ ابتدائی شکوک و شبہات اور چند لمحوں کے بعد، مختلف AI ٹولز نے میرے روزمرہ کے استعمال میں اپنا راستہ تلاش کر لیا ہے۔ وقت گزرنے کے ساتھ، ایپلی کیشنز کی فہرست جہاں ہم نے محسوس کیا کہ AI کو سنبھالنے دینا سمجھ میں آیا، اس لیے میں نے AI ٹولز کے استعمال کے کچھ عملی معاملات شیئر کرنے کا فیصلہ کیا جسے میں "ذمہ دار ڈویلپر" کہتا ہوں۔ ایک ذمہ دار ڈویلپر سے میرا کیا مطلب ہے؟ ہمیں اس بات کو یقینی بنانا ہوگا کہ ہم اپنے اسٹیک ہولڈرز اور کلائنٹس کی توقع کے مطابق کوالٹی کوڈ فراہم کریں۔ ہماری شراکتیں (یعنی پل کی درخواستیں) ہمارے ساتھیوں پر بوجھ نہیں بننی چاہئیں جنہیں ہمارے کام کا جائزہ لینا اور جانچنا پڑے گا۔ اس کے علاوہ، اگر آپ کسی کمپنی کے لیے کام کرتے ہیں: جو ٹولز ہم استعمال کرتے ہیں وہ ہمارے آجر سے منظور شدہ ہونا ضروری ہے۔ سیکیورٹی اور رازداری جیسے حساس پہلوؤں کو مناسب طریقے سے سنبھالنے کی ضرورت ہے: راز، کسٹمر ڈیٹا (PII)، یا ملکیتی کوڈ کو پالیسی کی منظوری کے بغیر ٹولز میں چسپاں نہ کریں۔ اسے انٹرنیٹ پر کسی اجنبی کے کوڈ کی طرح سمجھیں۔ ہمیشہ جانچ اور تصدیق کریں۔ نوٹ: یہ مضمون AI کوڈنگ ٹولز جیسے VSCode یا کرسر کے اندر Copilot سے کچھ بہت ہی بنیادی واقفیت کا حامل ہے۔ اگر یہ سب کچھ آپ کے لیے بالکل نیا اور ناواقف لگتا ہے، تو Github Copilot ویڈیو ٹیوٹوریلز آپ کے لیے ایک بہترین نقطہ آغاز ثابت ہو سکتے ہیں۔

AI کوڈنگ ٹولز کی مددگار ایپلی کیشنز نوٹ: درج ذیل مثالیں بنیادی طور پر JavaScript پر مبنی ویب ایپلیکیشنز جیسے React، Vue، Svelte، یا Angular میں کام کرنے پر توجہ مرکوز کریں گی۔ ایک ناواقف کوڈبیس کی تفہیم حاصل کرنا قائم شدہ کوڈبیس پر کام کرنا کوئی معمولی بات نہیں ہے، اور بڑے لیگیسی کوڈبیس میں شامل ہونا خوفناک ہوسکتا ہے۔ بس اپنے پروجیکٹ اور اپنے AI ایجنٹ کو کھولیں (میرے معاملے میں، VSCode میں Copilot Chat) اور ایسے ہی سوالات پوچھنا شروع کریں جیسے آپ کسی ساتھی سے پوچھتے ہیں۔ عام طور پر، میں کسی بھی AI ایجنٹ سے بات کرنا پسند کرتا ہوں جیسا کہ میں کسی ساتھی انسان سے کرتا ہوں۔ یہاں ایک اور بہتر مثال کا اشارہ ہے: "مجھے ایک اعلیٰ سطحی آرکیٹیکچر کا جائزہ دیں: انٹری پوائنٹس، روٹنگ، اوتھ، ڈیٹا لیئر، بلڈ ٹولنگ۔ پھر ترتیب سے پڑھنے کے لیے 5 فائلوں کی فہرست بنائیں۔ وضاحتوں کو فرضی تصورات کے طور پر سمجھیں اور حوالہ شدہ فائلوں پر جا کر تصدیق کریں۔"

آپ فالو اپ سوالات پوچھتے رہ سکتے ہیں جیسے "روٹنگ تفصیل سے کیسے کام کرتی ہے؟" یا "توثیق کے عمل اور طریقوں کے ذریعے مجھ سے بات کریں" اور یہ آپ کو ایک غیر مانوس کوڈ بیس کے اندھیرے میں کچھ روشنی چمکانے کے لیے مددگار سمتوں کی طرف لے جائے گا۔ انحصار کو اپ گریڈ کرتے وقت بریکنگ تبدیلیوں کو ٹرائی کرنا npm پیکجوں کو اپ ڈیٹ کرنا، خاص طور پر جب وہ بریکنگ تبدیلیوں کے ساتھ آتے ہیں، یہ تھکا دینے والا اور وقت طلب کام ہو سکتا ہے، اور آپ کو کافی حد تک ریگریشنز کو ڈیبگ کرنے پر مجبور کر سکتے ہیں۔ مجھے حال ہی میں ڈیٹا ویژولائزیشن لائبریری plotly.js کو ورژن 2 سے 3 تک ایک بڑے ریلیز ورژن کو اپ گریڈ کرنا پڑا، اور اس کے نتیجے میں، کچھ گراف میں ایکسس لیبلنگ نے کام کرنا چھوڑ دیا۔ میں نے ChatGPT سے پوچھا: "میں نے اپنے انگولر پروجیکٹ کو اپ ڈیٹ کیا جو پلاٹلی کا استعمال کرتا ہے۔ میں نے plotly.js — dist پیکیج کو ورژن 2.35.2 سے 3.1.0 تک اپ ڈیٹ کیا — اور اب x اور y محور پر لیبل ختم ہو گئے ہیں۔ کیا ہوا؟"

ایجنٹ فوری طور پر ایک حل لے کر واپس آیا (نیچے اپنے لیے دیکھیں)۔ نوٹ: میں نے ابھی بھی درست بھیجنے سے پہلے سرکاری مائیگریشن گائیڈ کے خلاف وضاحت کی تصدیق کی ہے۔

فائلوں میں محفوظ طریقے سے ریفیکٹرز کو نقل کرنا بڑھتے ہوئے کوڈ بیس یقینی طور پر کوڈ کے استحکام کے مواقع کی نقاب کشائی کرتے ہیں۔ مثال کے طور پر، آپ کو تمام فائلوں میں کوڈ کی نقل نظر آتی ہے جسے ایک فنکشن یا جزو میں نکالا جا سکتا ہے۔ نتیجے کے طور پر، آپ ایک مشترکہ جزو بنانے کا فیصلہ کرتے ہیں جو اس کے بجائے شامل کیا جا سکتا ہے اور اس ریفیکٹر کو ایک فائل میں انجام دیتا ہے۔ اب، اپنی بقیہ فائلوں میں ان تبدیلیوں کو دستی طور پر کرنے کے بجائے، آپ اپنے ایجنٹ سے اپنے لیے ریفیکٹر کو رول آؤٹ کرنے کو کہتے ہیں۔ ایجنٹ آپ کو متعدد فائلوں کو سیاق و سباق کے طور پر منتخب کرنے دیتے ہیں۔ ایک بار ایک فائل کے لیے ریفیکٹر مکمل ہو جانے کے بعد، میں ری فیکٹر شدہ اور اچھوتی فائلوں کو سیاق و سباق میں شامل کر سکتا ہوں اور ایجنٹ کو اس طرح کی دوسری فائلوں میں تبدیلیاں لانے کے لیے کہہ سکتا ہوں: "میں نے فائل A میں کی گئی تبدیلیوں کو فائل B میں بھی نقل کریں"۔ ناواقف ٹیکنالوجیز میں خصوصیات کو نافذ کرنا AI کوڈنگ ٹولز کا استعمال کرتے ہوئے میرے پسندیدہ لمحات میں سے ایک وہ تھا جب اس نے مجھے GLSL میں کافی پیچیدہ اینیمیٹڈ گریڈینٹ اینیمیشن بنانے میں مدد کی، ایک ایسی زبان جس سے میں کافی ناواقف تھا۔ ایک حالیہ پروجیکٹ پر، ہمارے ڈیزائنرز 3D آبجیکٹ پر لوڈنگ سٹیٹ کے طور پر ایک اینیمیٹڈ گریڈینٹ کے ساتھ آئے۔ مجھے یہ تصور بہت پسند آیا اور میں اپنے کلائنٹس کو کچھ منفرد اور دلچسپ فراہم کرنا چاہتا تھا۔ دیمسئلہ: میرے پاس اسے لاگو کرنے کے لیے صرف دو دن تھے، اور GLSL کے پاس سیکھنے کا بہت بڑا وکر ہے۔ ایک بار پھر، ایک AI ٹول (اس معاملے میں، ChatGPT) کام آیا، اور میں نے اسے اپنے لیے ایک اسٹینڈ ایلون ایچ ٹی ایم ایل فائل بنانے کا اشارہ دینا شروع کر دیا جو ایک کینوس اور ایک انتہائی سادہ اینیمیٹڈ کلر گریڈینٹ پیش کرتا ہے۔ ایک قدم کے بعد، میں نے AI کو اس میں مزید نفاست شامل کرنے کی ترغیب دی جب تک کہ میں کسی اچھے نتیجے پر نہ پہنچ جاؤں تاکہ میں شیڈر کو اپنے اصل کوڈ بیس میں ضم کرنا شروع کر سکوں۔ حتمی نتیجہ: ہمارے کلائنٹس بہت خوش تھے، اور ہم نے AI کی بدولت بہت کم وقت میں ایک پیچیدہ خصوصیت فراہم کی۔ تحریری ٹیسٹ میرے تجربے میں، پراجیکٹس پر شاذ و نادر ہی اتنا وقت ہوتا ہے کہ وہ یونٹ اور انٹیگریشن ٹیسٹوں کے مناسب سوٹ کو مسلسل لکھ سکیں اور اسے برقرار رکھ سکیں، اور اس کے علاوہ، بہت سے ڈویلپرز ٹیسٹ لکھنے کے کام سے واقعی لطف اندوز نہیں ہوتے ہیں۔ اپنے AI مددگار کو آپ کے لیے ٹیسٹ ترتیب دینے اور لکھنے کا اشارہ کرنا مکمل طور پر ممکن ہے اور یہ بہت کم وقت میں کیا جا سکتا ہے۔ بلاشبہ، آپ کو، ایک ڈویلپر کے طور پر، اب بھی اس بات کو یقینی بنانا چاہیے کہ آپ کے ٹیسٹ دراصل آپ کی درخواست کے اہم حصوں پر ایک نظر ڈالتے ہیں اور جانچ کے سمجھدار اصولوں پر عمل کرتے ہیں، لیکن آپ ٹیسٹوں کی تحریر کو ہمارے AI مددگار کو "آؤٹ سورس" کر سکتے ہیں۔ مثال کا اشارہ: "Jest کا استعمال کرتے ہوئے اس فنکشن کے لیے یونٹ ٹیسٹ لکھیں۔ خوشگوار راستے، ایج کیسز، اور ناکامی کے طریقوں کا احاطہ کریں۔ وضاحت کریں کہ ہر ٹیسٹ کیوں موجود ہے۔"

یہاں تک کہ آپ ٹیسٹنگ گرو Kent C. Dodds کی جانچ کے بہترین طریقوں کو اپنے ایجنٹ کے لیے رہنما خطوط کے طور پر پاس کر سکتے ہیں، جیسا کہ ذیل میں:

اندرونی ٹولنگ کچھ حد تک پہلے ذکر کردہ شیڈر مثال سے ملتا جلتا ہے، مجھے حال ہی میں کوڈ بیس میں کوڈ ڈپلیکیشن کا تجزیہ کرنے اور ریفیکٹر سے پہلے اور بعد میں موازنہ کرنے کا کام سونپا گیا تھا۔ یقینی طور پر کوئی معمولی کام نہیں ہے اگر آپ فائلوں کا دستی طور پر موازنہ کرنے کے وقت گزارنے والے راستے پر نہیں جانا چاہتے ہیں۔ Copilot کی مدد سے، میں نے ایک اسکرپٹ بنایا جس نے میرے لیے کوڈ ڈپلیکیشن کا تجزیہ کیا، آؤٹ پٹ کو ٹیبل میں ترتیب دیا اور آرڈر کیا، اور اسے Excel میں ایکسپورٹ کیا۔ پھر میں نے اسے ایک قدم آگے بڑھایا۔ جب ہمارا کوڈ ریفیکٹر ہو گیا، میں نے ایجنٹ کو اپنی موجودہ ایکسل شیٹ کو بیس لائن کے طور پر لینے، علیحدہ کالموں میں نقل کی موجودہ حالت میں شامل کرنے، اور ڈیلٹا کا حساب لگانے کو کہا۔ کوڈ کو اپ ڈیٹ کرنا کافی عرصہ پہلے لکھا گیا تھا۔ حال ہی میں، میرے ایک پرانے کلائنٹ نے مجھے مارا، کیونکہ وقت گزرنے کے ساتھ، اس کی ویب سائٹ پر کچھ فیچرز اب ٹھیک سے کام نہیں کر رہے تھے۔ کیچ: ویب سائٹ تقریباً دس سال پہلے بنائی گئی تھی، اور جاوا اسکرپٹ اور ایس سی ایس ایس ضرورت جے ایس جیسے پرانے کمپائل ٹولز استعمال کر رہے تھے، اور سیٹ اپ کے لیے Node.js کے پرانے ورژن کی ضرورت تھی جو میرے 2025 MacBook پر بھی نہیں چلے گی۔ مکمل تعمیراتی عمل کو ہاتھ سے اپ ڈیٹ کرنے میں مجھے دن لگیں گے، اس لیے میں نے AI ایجنٹ کو اشارہ کرنے کا فیصلہ کیا، "کیا آپ JS اور SCSS کی تعمیر کے عمل کو Vite جیسے 2025 اسٹیک پر اپ ڈیٹ کر سکتے ہیں؟" یہ یقینی طور پر ہوا، اور ایجنٹ کے ساتھ تقریباً ایک گھنٹہ بہتر کرنے کے بعد، میں نے اپنی SCSS اور JS کی تعمیر کو وائٹ میں تبدیل کر دیا، اور میں اصل بگ فکسنگ پر توجہ مرکوز کرنے کے قابل تھا۔ اپنے تعمیراتی عمل میں ایسی لازمی تبدیلیاں کرتے وقت صرف آؤٹ پٹ اور مرتب شدہ فائلوں کو درست طریقے سے درست کرنا یقینی بنائیں۔ خلاصہ اور مسودہ تیار کرنا کیا آپ کمٹ میسج کے لیے اپنی تمام حالیہ کوڈ تبدیلیوں کا ایک جملے میں خلاصہ کرنا چاہیں گے، یا کمٹ کی ایک لمبی فہرست ہے اور ان کا خلاصہ تین بلٹ پوائنٹس میں کرنا چاہیں گے؟ کوئی حرج نہیں، AI کو اس کا خیال رکھنے دیں، لیکن براہ کرم اسے پروف ریڈ کرنا یقینی بنائیں۔ ایک مثال کا اشارہ اتنا ہی آسان ہے جتنا کسی ساتھی انسان کو پیغام دینا: "براہ کرم مختصر بلٹ پوائنٹس میں میری حالیہ تبدیلیوں کا خلاصہ کریں"۔ یہاں میرا مشورہ یہ ہوگا کہ لکھنے کے لیے احتیاط کے ساتھ جی پی ٹی کا استعمال کیا جائے، اور کوڈ کی طرح، بھیجنے یا جمع کرانے سے پہلے آؤٹ پٹ چیک کریں۔ سفارشات اور بہترین طرز عمل اشارہ کرنا AI استعمال کرنے کا ایک غیر واضح فائدہ یہ ہے کہ آپ کے پرامپٹس جتنے زیادہ مخصوص اور موزوں ہوں گے، آؤٹ پٹ اتنا ہی بہتر ہوگا۔ AI ایجنٹ کو اشارہ کرنے کا عمل ہمیں لکھنے اور کوڈ کرنے سے پہلے اپنی ضروریات کو خاص طور پر ترتیب دینے پر مجبور کرتا ہے۔ یہی وجہ ہے کہ، ایک عام اصول کے طور پر، میں آپ کے اشارے کے ساتھ زیادہ سے زیادہ مخصوص ہونے کی سفارش کرتا ہوں۔ ریان فلورنس، ریمکس کے شریک مصنف، جملے کے ساتھ اپنے ابتدائی اشارے کو ختم کرکے اس عمل کو بہتر بنانے کا ایک آسان لیکن طاقتور طریقہ تجویز کرتے ہیں: "اس سے پہلے کہ ہم شروع کریں، کیا آپ کے پاس میرے لیے کوئی سوال ہے؟"

اس مقام پر، AI عام طور پر مددگار سوالات کے ساتھ واپس آتا ہے جہاں آپ اپنے مخصوص ارادے کو واضح کر سکتے ہیں، ایجنٹ کی رہنمائی کرتے ہوئے آپ کو اپنے کام کے لیے مزید موزوں طریقہ فراہم کر سکتے ہیں۔

ورژن کنٹرول کا استعمال کریں اور ہضم ہونے والے حصوں میں کام کریں۔ گٹ جیسے ورژن کنٹرول کا استعمال نہ صرف اس وقت کام آتا ہے جب کسی ایک کوڈبیس پر ٹیم کے طور پر تعاون کیا جائے بلکہ آپ کو بطور ایک فراہم کرنے کے لیے بھی۔مستحکم پوائنٹس کے ساتھ انفرادی تعاون کنندہ کسی ہنگامی صورت حال میں واپس جانے کے لیے۔ اس کی غیر ارادی نوعیت کی وجہ سے، AI بعض اوقات بدمعاش بن سکتا ہے اور ایسی تبدیلیاں کر سکتا ہے جو آپ جس چیز کو حاصل کرنے کی کوشش کر رہے ہیں اس کے لیے صرف مددگار نہیں ہیں اور آخرکار چیزوں کو ناقابل تلافی طور پر توڑ دیتے ہیں۔ اپنے کام کو متعدد کمٹوں میں تقسیم کرنے سے آپ کو ایسے مستحکم پوائنٹس بنانے میں مدد ملے گی جن پر آپ واپس جاسکتے ہیں اگر معاملات ایک طرف جاتے ہیں۔ اور آپ کے ساتھی ساتھی بھی آپ کا شکریہ ادا کریں گے، کیونکہ آپ کے کوڈ کا جائزہ لینے میں ان کے پاس آسان وقت ہو گا جب یہ لفظی طور پر اچھی طرح سے بنائے گئے حصوں میں تقسیم ہو جائے گا۔ اچھی طرح سے جائزہ لیں۔ یہ ایک عمومی بہترین عمل ہے، لیکن میری رائے میں، ترقیاتی کاموں کے لیے AI ٹولز کا استعمال کرتے وقت یہ اور بھی اہم ہو جاتا ہے: اپنے کوڈ کے پہلے تنقیدی جائزہ لینے والے بنیں۔ اس بات کو یقینی بنائیں کہ آپ اپنی تبدیلیوں کی لائن پر لائن کے لحاظ سے کچھ وقت نکالیں، بالکل اسی طرح جیسے آپ کسی اور کے کوڈ کا جائزہ لیں گے، اور اپنے کام کو صرف اس وقت جمع کرائیں جب یہ آپ کا خود جائزہ پاس کر لے۔ "میرے لیے اس وقت دو چیزیں درست ہیں: AI ایجنٹس حیرت انگیز ہیں اور پیداواری صلاحیت میں زبردست اضافہ۔ اگر آپ اپنے دماغ کو بند کر دیں اور مکمل طور پر چھوڑ دیں تو وہ بہت بڑی سلپ مشینیں بھی ہیں۔"- ارمین روناچر اپنے بلاگ پوسٹ ایجنٹ سائیکوسس میں: کیا ہم پاگل ہو رہے ہیں؟

نتیجہ اور تنقیدی خیالات میری رائے میں، AI کوڈنگ ٹولز روزانہ کی بنیاد پر ڈیولپرز کے طور پر ہماری پیداواری صلاحیت کو بہتر بنا سکتے ہیں اور مزید منصوبہ بندی اور اعلیٰ سطحی سوچ کے لیے ذہنی صلاحیت کو آزاد کر سکتے ہیں۔ وہ ہمیں اپنے مطلوبہ نتائج کو باریک بینی کے ساتھ بیان کرنے پر مجبور کرتے ہیں۔ کوئی بھی AI، بعض اوقات، فریب کا شکار ہو سکتا ہے، جس کا بنیادی مطلب یہ ہے کہ یہ پراعتماد لہجے میں ہے۔ لہذا براہ کرم یقینی بنائیں کہ چیک کریں اور ٹیسٹ کریں، خاص طور پر جب آپ کو شک ہو۔ AI چاندی کی گولی نہیں ہے، اور مجھے یقین ہے، ایک ڈویلپر کے طور پر عمدگی اور مسائل کو حل کرنے کی صلاحیت کبھی بھی فیشن سے باہر نہیں ہوگی۔ ڈویلپرز کے لیے جو ابھی اپنے کیریئر کا آغاز کر رہے ہیں یہ ٹولز ان کے لیے زیادہ تر کام کرنے کے لیے انتہائی پرکشش ہو سکتے ہیں۔ یہاں جو چیز ضائع ہو سکتی ہے وہ کیڑے اور مسائل کے ذریعے اکثر ختم ہونے والا اور تکلیف دہ کام ہے جسے ڈیبگ کرنا اور حل کرنا مشکل ہے، عرف "پیسنا"۔ یہاں تک کہ کرسر اے آئی کے اپنے ہی لی رابنسن نے اپنی ایک پوسٹ میں اس سے سوال کیا:

AI کوڈنگ ٹولز تیز رفتاری سے تیار ہو رہے ہیں، اور میں اس کے لیے پرجوش ہوں کہ آگے کیا ہوگا۔ مجھے امید ہے کہ آپ کو یہ مضمون اور اس کے مشورے کارآمد لگے ہیں اور آپ ان میں سے کچھ کو اپنے لیے آزمانے کے لیے پرجوش ہیں۔

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free