𝗗𝗶𝘀𝗽𝗼𝘀𝗮𝗯𝗹𝗲 𝗖𝗼𝗱𝗲 𝗜𝘀 𝗔 𝗟𝗶𝗲

لوگ کہتے ہیں کہ AI کے دور میں کوڈ کی پائیداری ختم ہو چکی ہے۔ ان کا دعویٰ ہے کہ AI 10 گنا تیزی سے کوڈ دوبارہ لکھتا ہے۔ وہ پوچھتے ہیں کہ اگر آپ بعد میں اسے دوبارہ جنریٹ کر سکتے ہیں تو پھر دیرپا کوڈ کیوں لکھیں؟

یہ خیال ایک وہم ہے۔ یہ زیادہ تر ان لوگوں کی طرف سے آتا ہے جو سافٹ ویئر کی دیکھ بھال (maintain) نہیں کرتے۔

یہ دلیل سننے میں تو اچھی لگتی ہے۔ آپ کو ایک بکھرا ہوا کوڈ بیس (codebase) ملتا ہے۔ آپ اسے پھینکنے کا فیصلہ کرتے ہیں اور AI سے کچھ بہتر مانگتے ہیں۔ یہ ترقی محسوس ہوتی ہے۔ حقیقت میں، یہ ایک انجینئرنگ کی ناکامی ہے۔

یہاں وہ بات ہے جو لوگ ایک قائم شدہ کوڈ بیس کے بارے میں بھول جاتے ہیں۔ یہ صرف منطق (logic) سے بڑھ کر ہے۔ یہ آپ کی درست کی گئی ہر غلطی کا ایک ریکارڈ ہے۔

لائن 412 پر وہ عجیب سا if statement کسی وجہ سے موجود ہے۔ یہ ٹائم زون کی تبدیلی کے دوران پیمنٹ فراہم کرنے والے (payment provider) سے آنے والی ایک مخصوص غلطی کو سنبھالتا ہے۔ وہ منطق کسی ٹکٹ (ticket) میں نہیں ہوتی۔ وہ کوڈ میں موجود ہوتی ہے۔

ہر ری رائٹ (rewrite) سے یادداشت کا نقصان ہوتا ہے۔ آپ ضمنی علم (implicit knowledge) اور ایج کیس ہینڈلنگ (edge-case handling) کو کھو دیتے ہیں۔ AI تیزی سے کوڈ لکھ سکتا ہے، لیکن وہ آپ کی ٹیم کے ماضی کے فیصلوں کو دوبارہ تخلیق نہیں کر سکتا۔ وہ ان مہینوں کی محنت کو دوبارہ تخلیق نہیں کر سکتا جو آپ نے سسٹم کی ناکامی (failure) کے بعد اپنے ری ٹرائی لاجک (retry logic) میں لگائی تھی۔

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

ٹائپ کرنا کبھی مشکل حصہ نہیں تھا۔ یہ سمجھنا کہ کیا ٹائپ کرنا ہے، اصل مشکل حصہ تھا۔

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

اگر آپ کوئی ویک اینڈ پروجیکٹ بنا رہے ہیں، تو جب چاہیں اسے دوبارہ لکھ لیں۔ کسی کو پرواہ نہیں ہے۔

لیکن اگر آپ ایسی پروڈکٹ چلا رہے ہیں جس پر لوگ بھروسہ کرتے ہیں، تو آپ یہ آسائش برداشت نہیں کر سکتے۔ آپ چھٹی کے دن رات 2 بجے چیزوں کو خراب کرنے کی ہمت نہیں کر سکتے۔

ری رائٹس ٹیک ڈیٹ (tech debt) کو ختم نہیں کرتے۔ وہ صرف اسے ڈھونڈنے کے لیے گھڑی کو ری سیٹ کر دیتے ہیں۔

یہ بیانیہ ان لوگوں کے لیے ہے جو صرف پروجیکٹس شروع کرتے ہیں لیکن کبھی ان کی دیکھ بھال نہیں کرتے۔ یہ ان لوگوں کے لیے ہے جو یہ نظریہ بیچتے ہیں کہ AI ہر چیز کو تبدیل کے قابل بنا دیتا ہے۔ یہ اس انجینئر کے کام نہیں آتا جسے ری رائٹ کے ناکام ہونے پر پےج (paged) کیا جاتا ہے۔ یہ صارف کے کام بھی نہیں آتا۔

مینٹیننس (Maintenance) سافٹ ویئر کی حقیقت ہے۔ ڈسپوزایبل کوڈ ایک ایسا فلسفہ ہے جو صرف تب کام کرتا ہے جب آپ کو کبھی سسٹم چلانے (keep the lights on) کی ضرورت نہ پڑے۔

AI کو بہتر اور زیادہ پائیدار کوڈ لکھنے میں مدد کے لیے استعمال کریں۔ اسے ہر چیز کو شروع سے دوبارہ بنانے کے بہانے کے طور پر استعمال نہ کریں۔

پائیداری، چستی (agility) کو پائیدار بناتی ہے۔

آپ کے سسٹم میں کوڈ کا سب سے پرانا حصہ کون سا ہے؟ اگر آپ اسے حذف کر دیں تو آپ کا کیا نقصان ہوگا؟

ماخذ: https://dev.to/adioof/disposable-code-is-a-psyop-by-people-who-dont-maintain-anything-33kg

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi