AI کے بنائے ہوئے کوڈ کا جائزہ کیسے لیں
AI کے بنائے ہوئے کوڈ کا جائزہ لینے کے لیے پہلے یہ دیکھیں کہ کیا بدلا — کون سی فائلیں اور کیوں — پھر کسی بھی لائن کو پڑھنے سے پہلے خود رویے کی جانچ کریں۔ اس کے بعد ان جگہوں کو دیکھیں جہاں AI کا کوڈ اکثر غلط ہوتا ہے: سرور کی طرف اجازت کی جانچ کا غائب ہونا، براؤزر کے سامنے ظاہر خفیہ معلومات، توثیق کے بغیر ان پٹ، ایسے پیکیجز یا فنکشنز جو موجود نہیں، اور ان چیزوں میں تبدیلیاں جنہیں چھیڑنے کا آپ نے کبھی نہیں کہا تھا۔
AI ایسا کوڈ لکھتا ہے جو عموماً چلتا ہے اور اکثر صاف ستھرا نظر آتا ہے۔ اس سے اسے بغیر حقیقی جانچ کے منظور کرنا آسان ہو جاتا ہے۔ یہ گائیڈ ایک جائزہ معمول ہے جو اس وقت بھی کام کرتا ہے جب آپ کوڈ روانی سے پڑھتے ہوں یا بالکل نہ پڑھتے ہوں۔
جائزے کو خطرے کے مطابق رکھیں
ہر تبدیلی کو ایک جیسی توجہ کی ضرورت نہیں۔
| تبدیلی | جائزہ |
|---|---|
| متن، رنگ، لے آؤٹ | ڈیسک ٹاپ اور فون سائز کی اسکرین پر پیش نظارہ میں دیکھیں |
| نیا صفحہ یا فیچر | فلو کی جانچ کریں؛ بدلی ہوئی فائلوں کو سرسری دیکھیں |
| لاگ اِن، اجازتیں، ادائیگیاں، ذاتی ڈیٹا | غور سے پڑھیں، حقیقی جانچ کریں، دوسرے جائزہ لینے والے پر غور کریں |
| ڈیٹا بیس کا ڈھانچہ، ڈیٹا حذف کرنا، migrations | تبدیلی پڑھیں، کاپی پر جانچیں، پہلے بیک اپ لیں |
مرحلہ 1: دیکھیں کیا بدلا
کوڈ پر فیصلہ کرنے سے پہلے تبدیلیوں کی فہرست حاصل کریں:
- اگر پروجیکٹ Git میں ہے تو diff دیکھیں: وہ فائلیں اور لائنیں جو آخری commit کے بعد بدلیں۔ دیکھیں AI سے بنی ایپ کے ساتھ Git کیسے استعمال کریں۔
- یا براہ راست AI سے پوچھیں:
آخری تبدیلی میں آپ نے جو بھی فائل بدلی ہے اس کی فہرست دیں، اور ہر ایک کے لیے ایک جملے میں بتائیں کہ کیا بدلا اور کیوں۔
اس مرحلے پر خطرے کی علامات: وہ فائلیں جن کا درخواست سے تعلق نہیں، حذف شدہ فائلیں، ترتیب یا dependencies میں وہ تبدیلیاں جن کا آپ نے نہیں کہا تھا۔
مرحلہ 2: پہلے رویے کی جانچ کریں
کوڈ پڑھنے سے معلوم ہوتا ہے کہ وہ کیا کرنا چاہتا ہے؛ جانچ سے معلوم ہوتا ہے کہ وہ اصل میں کیا کرتا ہے۔ پڑھنے سے پہلے:
- ایک عام صارف کی طرح تبدیلی آزمائیں، ڈیسک ٹاپ اور فون سائز کی اسکرین پر۔
- غلط ان پٹ کے ساتھ آزمائیں: خالی فیلڈز، بہت لمبا متن، منفی نمبر، ماضی کی تاریخ۔
- لاگ آؤٹ ہو کر، اور کسی مختلف صارف کے طور پر آزمائیں۔
- سب سے اہم فلوز دوبارہ چلائیں: سائن اَپ، لاگ اِن، مرکزی کام، ادائیگی۔
اگر جانچ ناکام ہو تو آپ کا پڑھنے کا وقت بچ گیا — اسے واضح طور پر رپورٹ کریں اور AI کو ٹھیک کرنے دیں۔ دیکھیں اچھی بگ رپورٹ کیسے لکھیں۔
مرحلہ 3: سرور پر اجازتیں جانچیں
سب سے اہم چیز جو جانچنی ہے۔ AI ٹول اکثر صفحے میں بٹن چھپا دیتے ہیں، مگر سرور کو ہر اس شخص کے لیے عمل کرنے کے لیے تیار چھوڑ دیتے ہیں جو اس سے کہے۔
ہر اس راستے یا فنکشن کے لیے جو ڈیٹا پڑھتا یا بدلتا ہے، پوچھیں:
- کیا یہ جانچتا ہے کہ صارف لاگ ان ہے؟
- کیا یہ جانچتا ہے کہ یہ صارف اس ریکارڈ تک رسائی کا حق رکھتا ہے؟
- کیا یہ جانچ سرور پر ہے، صرف صفحے میں نہیں؟
ہر API راستے کے لیے جو آپ نے شامل یا بدلا ہے، بتائیں کہ وہ سرور پر کون سی اجازت کی جانچ کرتا ہے، متعلقہ لائن کا حوالہ دیتے ہوئے۔ جس راستے میں یہ نہ ہو اسے نشان زد کریں۔
پھر اسے جانچیں: صارف A کے طور پر لاگ ان کریں، ایک ریکارڈ کی ID نوٹ کریں، پھر صارف B کے طور پر لاگ ان ہو کر اسے مانگیں۔ مکمل جانچ کے لیے AI سے بنی ایپس کی سیکیورٹی چیک لسٹ دیکھیں۔
مرحلہ 4: ظاہر ہونے والی خفیہ معلومات تلاش کریں
- بدلی ہوئی فائلوں میں ہر ایسی چیز تلاش کریں جو کسی key یا پاس ورڈ جیسی لگے۔
- جانچیں کہ خفیہ keys environment variables سے پڑھی جاتی ہیں اور صرف سرور کوڈ میں استعمال ہوتی ہیں۔
- خفیہ متغیرات پر
VITE_یاNEXT_PUBLIC_جیسے عوامی سابقے (prefixes) سے خبردار رہیں — وہ براؤزر کوڈ میں شامل ہو جاتے ہیں۔
دیکھیں API keys کو محفوظ کیسے رکھیں۔
مرحلہ 5: ان پٹ اور خرابیاں جانچیں
- سرور پر توثیق۔ براؤزر کی جانچ چھوڑی جا سکتی ہے۔ مطلوبہ فیلڈز، لمبائی، فارمیٹ اور اجازت شدہ قدریں سرور کو بھی جانچنی چاہئیں۔
- ڈیٹا بیس کی queries parameters استعمال کریں، صارف کے ان پٹ کو query میں جوڑ کر بنایا گیا متن نہیں۔
- خرابیاں دبائی نہ جائیں۔ ایک
try/catchجو کچھ نہیں کرتا، ناکامیوں کو چھپا دیتا ہے۔ خرابیوں کو لاگ کیا جانا چاہیے، اور صارفین کو سادہ پیغام نظر آنا چاہیے۔ - صارفین کو اندرونی تفصیلات نہ دکھائیں — stack traces اور ڈیٹا بیس کی خرابیاں لاگز میں ہونی چاہئیں۔
مرحلہ 6: جانچیں کہ یہ حقیقی ہے
AI ماڈل کبھی کبھی ایسا کوڈ بناتے ہیں جو درست نظر آتا ہے مگر ایسی چیزوں کا حوالہ دیتا ہے جو موجود نہیں ہیں۔
- پیکیجز: ہر نئی dependency ایک حقیقی، زیرِ دیکھ بھال پیکیج ہونی چاہیے جس کا بالکل وہی نام ہو۔ ایسے ناموں سے ہوشیار رہیں جو مشہور پیکیجز کی ٹائپو لگیں۔
- فنکشنز اور API آپشنز: اگر کوڈ کسی لائبریری فنکشن یا بیرونی API آپشن کو کال کرتا ہے جو آپ نے کبھی نہیں دیکھا، تو سرکاری دستاویزات دیکھیں۔
- placeholder کوڈ:
TODO،mock،fake، سخت کوڈ شدہ نمونہ ڈیٹا، یا ہمیشہ مقررہ قدر لوٹانے والے فنکشنز تلاش کریں۔
کیا آپ نے کوئی نیا پیکیج شامل کیا ہے؟ ہر ایک کے لیے بالکل درست نام، اس کا مقصد، اور بتائیں کہ کیا ہم اس کے بغیر کام چلا سکتے ہیں۔
مرحلہ 7: جانچیں کہ یہ فٹ بیٹھتا ہے
کوڈ کام کر سکتا ہے اور پھر بھی ایپ کو بعد میں بدلنا مشکل بنا سکتا ہے:
- دہرائی۔ ایک ہی منطق کئی جگہوں پر نقل ہو تو وہ الگ ہو جائے گی۔
- یکسانیت۔ اسے ایپ کے باقی حصے کے طریقوں کی پیروی کرنی چاہیے۔
- حجم۔ 20 لائنوں کی درخواست جو 600 لائنیں بنا دے، سوال کی مستحق ہے۔
- بے کار کوڈ۔ نئے ورژنز کے ساتھ پرانے ورژن جو باقی رہ گئے ہوں۔
کیا پروجیکٹ میں اس تبدیلی کی وجہ سے اب کوئی کوڈ بے کار ہو گیا ہے، یا کوئی منطق کہیں اور دہرائی گئی ہے؟ کچھ مت بدلیں؛ صرف فہرست دیں۔
عام غلطیاں
- صاف نظر آنے کی وجہ سے منظور کرنا۔ صاف کوڈ بھی اجازت کی جانچ چھوڑ سکتا ہے۔
- جانچنے کے بجائے پڑھنا۔ پہلے جانچیں؛ بعد میں پڑھیں۔
- صرف کامیاب راستے کی جانچ۔ غلط ان پٹ، غلط صارف، اور لاگ آؤٹ حالت آزمائیں۔
- غیر متعلقہ فائل تبدیلیوں کو نظر انداز کرنا۔ پوچھیں کہ ہر فائل کیوں بدلی۔
- خود کے جائزے پر مکمل بھروسہ۔ AI کے جائزے کو پہلا مرحلہ سمجھیں اور جانچ سے تصدیق کریں۔
- ایک ہفتے کی تبدیلیوں کا ایک ساتھ جائزہ لینا۔ چھوٹی تبدیلیوں کا ان کے ہوتے ہی جائزہ لیں۔
چیک لسٹ
- مجھے معلوم ہے کہ کون سی فائلیں بدلیں اور کیوں، اور کچھ غیر متعلقہ نہیں بدلا۔
- تبدیلی ڈیسک ٹاپ اور فون پر کام کرتی ہے، غلط ان پٹ کے ساتھ، لاگ آؤٹ حالت میں اور کسی دوسرے صارف کے طور پر۔
- ہر ڈیٹا راستہ سرور پر لاگ اِن اور ملکیت کی جانچ کرتا ہے۔
- کوڈ یا براؤزر بنڈلز میں کوئی خفیہ معلومات نہیں۔
- ان پٹ سرور پر توثیق شدہ ہے؛ queries parameters استعمال کرتی ہیں۔
- خرابیاں لاگ ہوتی ہیں، دبائی نہیں جاتیں، اور صارفین کو تفصیل سے نہیں دکھائی جاتیں۔
- نئے پیکیجز حقیقی اور ضروری ہیں؛ کوئی من گھڑت فنکشن یا placeholder باقی نہیں۔
- زیادہ خطرے والی تبدیلیوں کو غور سے پڑھا گیا اور ضرورت ہو تو دوسرے جائزہ لینے والے نے دیکھا۔
Mythex پر کوڈ کا جائزہ
- Ask mode کوڈ میں بدلے بغیر اس کے بارے میں سوالات کا جواب دیتا ہے — "ہر تبدیلی کی وضاحت کریں" اور "کون سے راستوں میں اجازت کی جانچ نہیں" جیسے سوالات کے لیے بہترین۔ دیکھیں چیٹ۔
- Code view ہر پلان پر فائلوں کا درخت، ایڈیٹر اور ٹرمینل دکھاتا ہے (Free پر صرف پڑھنے کے لیے، Pro پر قابلِ ترمیم)، تاکہ آپ خود دیکھ سکیں کہ کیا بدلا۔ دیکھیں کوڈ ایڈیٹر۔
/testایجنٹ سے صارف کی طرح پیش نظارہ میں کلک کروا کر ٹوٹے ہوئے فلوز کی رپورٹ لیتا ہے۔- Checkpoints آپ کو وہ تبدیلی واپس لینے دیتے ہیں جو جائزے میں ناکام ہو۔
اگر آپ کے لیے کوئی ڈویلپر جائزہ لے رہا ہے تو AI سے بنی ایپ پر ڈویلپر کے ساتھ کیسے کام کریں منتقلی کا طریقہ بتاتی ہے؛ اور اگر جائزے میں کوئی بگ نکلے تو AI سے بنی ایپ کی ڈیبگنگ کیسے کریں دیکھیں۔
سوالات
کیا میں ڈویلپر نہ ہوں تو AI کے بنائے ہوئے کوڈ کا جائزہ لے سکتا ہوں؟
آپ اس کا بڑا حصہ جانچ سکتے ہیں۔ دیکھیں کہ تبدیلی وہی کرتی ہے جو آپ نے کہا، اہم فلوز کی جانچ کریں، کسی دوسرے صارف کے ڈیٹا تک رسائی کی کوشش کریں، اور AI سے کہیں کہ ہر بدلی ہوئی فائل سادہ زبان میں سمجھائے۔ ادائیگیوں، حساس ڈیٹا یا سیکیورٹی کے لیے کسی ڈویلپر سے بھی دیکھوائیں۔
AI کے بنائے ہوئے کوڈ میں سب سے عام مسائل کیا ہیں؟
سرور کی طرف اجازت کی جانچ کا غائب ہونا، خفیہ معلومات ایسی جگہ رکھنا جہاں براؤزر انہیں پڑھ سکے، سرور پر توثیق نہ ہونے والا ان پٹ، ایسے پیکیجز یا فنکشنز جو موجود ہی نہیں، خاموشی سے دبا دی جانے والی خرابیاں، اور وہ فائلیں بدلنا جن کے بارے میں آپ نے نہیں کہا تھا۔
کیا میں AI سے اپنا ہی کوڈ جائزہ لینے کو کہہ سکتا ہوں؟
ہاں، اور یہ اکثر حقیقی مسائل ڈھونڈ لیتا ہے، خاص طور پر جب آپ مخصوص سوال پوچھیں، جیسے کون سے راستوں میں اجازت کی جانچ نہیں۔ اسے پہلا مرحلہ سمجھیں، ضمانت نہیں، اور اس کے نتائج کو جانچ کر تصدیق کریں۔
کوڈ کے جائزے میں کتنا وقت لگنا چاہیے؟
خطرے کے مطابق رکھیں۔ متن یا اسٹائل کی تبدیلی کو پیش نظارہ میں ایک جلدی نظر کی ضرورت ہے۔ لاگ اِن، ادائیگیوں، اجازتوں یا ڈیٹا بیس سے متعلق تبدیلیوں کو غور سے پڑھنے، حقیقی جانچ اور ممکنہ طور پر دوسرے شخص کے جائزے کی ضرورت ہے۔