پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

کچھ عرصہ قبل میرے اور میرے ایک اچھے دوست کے درمیان گفتگو ہوئی جس میں درج ذیل جملے سننے کو ملے۔

- پروگرامرز کی تعداد میں مسلسل اضافہ ہوتا جائے گا - کیونکہ کوڈ کی مقدار بڑھ رہی ہے، اور زیادہ سے زیادہ ڈویلپرز کو مسلسل اس کی حمایت کرنے کی ضرورت ہے۔
- لیکن کوڈ پرانا ہوتا جا رہا ہے، اس میں سے کچھ اب تعاون یافتہ نہیں ہے۔ یہ بھی ممکن ہے کہ کسی قسم کا توازن ہو۔

کچھ دنوں بعد ان کو یاد کرتے ہوئے، میں نے سوچا کہ کیا کوڈ کو برقرار رکھنے، وقت کے ساتھ ساتھ زیادہ سے زیادہ وسائل کی ضرورت ہوتی ہے، بالآخر نئی فعالیت کی ترقی کو مفلوج کر سکتا ہے، یا اس کے لیے پروگرامرز کی تعداد میں لامحدود اضافہ کی ضرورت ہوگی؟ ریاضی کے تجزیے اور تفریق مساوات نے ترقی پر معاونت کی مقدار کے انحصار کا معیاری اندازہ لگانے اور سوالات کے جوابات تلاش کرنے میں مدد کی۔

سوال ایک۔ کیا ترقی کے تمام وسائل "کھانے" کی حمایت کر سکتے ہیں؟

پروگرامرز کی ایک ٹیم پر غور کریں جس میں شرکاء کی تعداد مستقل ہے۔ ان کے کام کے وقت کا حصہ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ (پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟) نیا کوڈ تیار کرنے پر خرچ کیا جاتا ہے، اور وقت کا بقیہ حصہ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ حمایت کے لئے جاتا ہے. ماڈل کے مفروضوں کے اندر، ہم فرض کرتے ہیں کہ پہلی قسم کی سرگرمی کا مقصد کوڈ کے حجم کو بڑھانا ہے، اور دوسری کا مقصد اسے تبدیل کرنا (غلطیوں کو درست کرنا) ہے اور اس کا کوڈ کے حجم پر کوئی خاص اثر نہیں پڑتا ہے۔

آئیے اشارہ کرتے ہیں۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ اس وقت تک لکھے گئے کوڈ کی پوری رقم پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟. فرض کریں کہ کوڈ لکھنے کی رفتار متناسب ہے۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟، ہم حاصل:

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

یہ فرض کرنا فطری ہے کہ کوڈ کو برقرار رکھنے کے لیے مزدوری کے اخراجات اس کے حجم کے متناسب ہیں:

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

یا

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

مقام

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

ہم ایک تفریق مساوات حاصل کرتے ہیں جسے آسانی سے مربوط کیا جا سکتا ہے۔ اگر وقت کے ابتدائی لمحے میں کوڈ کی مقدار صفر ہے، تو

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

میں پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ تقریب پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟اور پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟. اور اس کا مطلب ہے کہ وقت کے ساتھ ساتھ نئی فعالیت کی ترقی میں بتدریج کمی اور سپورٹ کے لیے تمام وسائل کی منتقلی۔

تاہم، اگر وقت کے دوران پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ کوڈ متروک ہو جاتا ہے اور سپورٹ ہونا بند ہو جاتا ہے، پھر کوڈ کی مقدار جس کو ایک وقت میں سپورٹ کی ضرورت ہوتی ہے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ پہلے سے ہی برابر ہے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ پھر۔

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

а پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ ریٹائرڈ دلیل کے ساتھ تفریق مساوات کا حل ہے [1]:

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

اس طرح کی مساوات کا حل منفرد طور پر قدروں کی وضاحت کے ذریعے طے کیا جاتا ہے۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ "وقت کے آغاز سے پہلے" پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟. چونکہ کوڈ ابھی تک وقت کے ابتدائی لمحے سے پہلے نہیں لکھا گیا تھا، ہمارے معاملے میں پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ میں پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟.

آئیے چند مثالیں دیکھتے ہیں۔ ہم سالوں میں وقت اور کوڈ کی مقدار کو ہزاروں لائنوں میں ناپیں گے۔ پھر کے لیے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ دسیوں کی ترتیب کی قدریں قابل قبول ہیں، ہم 50 اور 100 لیں گے۔ یعنی ایک سال میں ترقیاتی ٹیم کوڈ کی بالترتیب پچاس اور ایک لاکھ لائنیں لکھے گی۔ کے لیے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ قابل قبول قدریں ہو سکتی ہیں: پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟, پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟, پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟. اس کا مطلب یہ ہے کہ ایک ترقیاتی ٹیم ایک سال میں لکھے گئے کوڈ کی مقدار کو سپورٹ کر سکتی ہے، چاہے وہ چوتھائی، نصف، یا مکمل وقت ہو۔ کوڈ کی اوسط زندگی کے طور پر، ہم درج ذیل قدریں مرتب کریں گے: 1، 2 اور 4 سال۔ مساوات کو عددی طور پر حل کرتے ہوئے، ہم فنکشن کے رویے کی مثالیں حاصل کرتے ہیں۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ کچھ پیرامیٹر کے امتزاج کے لیے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟.
پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟
فنکشن کا رویہ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ کوڈ کی عمر کے ساتھ، یہ بدل گیا ہے. فنکشن اب نیرس نہیں ہے، لیکن اتار چڑھاو وقت کے ساتھ "پرسکون" ہوتا ہے، اور اس کا رجحان ہوتا ہے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ کچھ مستقل قیمت پر۔ گراف دکھاتے ہیں: زیادہ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟, پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ и پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟، یعنی، کوڈ کی عمر جتنی سست ہوگی، نئے کوڈ کی ترقی اتنی ہی تیز ہوگی اور کوڈ کا معیار اتنا ہی کم ہوگا، نئی فعالیت کی نشوونما کے لیے اتنے ہی کم وسائل باقی رہ جائیں گے۔ کم از کم ایک مثال دینے کی خواہش تھی جس میں پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ "snuggled" صفر کے قریب۔ لیکن اس کے لیے انتہائی ناقص ترقیاتی معیار کے اشارے اور کوڈ کا انتخاب درکار تھا جو طویل عرصے تک پرانا نہیں ہوتا۔ یہاں تک کہ نچلے بائیں گراف میں، نئی فعالیت کے لیے وسائل کی ایک قابل ذکر مقدار باقی ہے۔ لہذا، پہلے سوال کا صحیح جواب یہ ہے: نظریاتی طور پر - ہاں، یہ ممکن ہے؛ عملی طور پر - مشکل سے۔

وہ سوالات جن کا جواب نہیں دیا جا سکا:

  1. کیا یہ سچ ہے۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ میں کچھ حد تک جاتا ہے۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ سب کے لیے پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟? اگر سب کے لیے نہیں تو کن کے لیے؟
  2. اگر کوئی حد موجود ہے تو اس کی قدر کس طرح منحصر ہے؟ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟?

سوال دو۔ کیا کوڈ کی دیکھ بھال پروگرامرز کی تعداد میں لامحدود اضافہ کا سبب بن سکتی ہے؟

آئیے اشارہ کرتے ہیں۔ پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ نئے کوڈ کی تیاری میں شامل پروگرامرز کی تعداد۔ جیسا کہ اوپر ہے، پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ - وقت میں ایک نقطہ تک لکھے گئے کوڈ کی مقدار پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟. پھر

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

کوڈ سپورٹ کو مصروف رکھیں پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟ پروگرامرز عمر رسیدہ کوڈ کو مدنظر رکھتے ہوئے،

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

مقام

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

اگر پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟پھر

پہلے لکھے ہوئے کوڈ کو برقرار رکھنے کے لیے کتنے پروگرامرز کی ضرورت ہوتی ہے؟

اس طرح، دوسرے سوال کا جواب منفی ہے: اگر نئے کوڈ کے ڈویلپرز کی تعداد محدود ہے، تو عمر رسیدہ کوڈ کے حالات میں، سپورٹ پروگرامرز کی تعداد میں لامحدود اضافہ کا سبب نہیں بن سکتی۔

حاصل يہ ہوا

جن ماڈلز پر غور کیا جاتا ہے وہ "نرم" ریاضیاتی ماڈل ہیں [2]۔ وہ بہت سادہ ہیں۔ بہر حال، پیرامیٹر اقدار پر نقلی نتائج کا انحصار حقیقی نظاموں کے لیے توقع کے مطابق ہے، یہ ماڈلز کی مناسبیت اور اعلیٰ معیار کے تخمینے حاصل کرنے کے لیے کافی درستگی کے حق میں بات کرتا ہے۔

حوالہ جات

1. Elsgolts L.E., Norkin S.B. انحراف والی دلیل کے ساتھ تفریق مساوات کے نظریہ کا تعارف۔ ماسکو۔ پبلشنگ ہاؤس "سائنس"۔ 1971.
2. آرنلڈ V.I. "سخت" اور "نرم" ریاضی کے ماڈل۔ ماسکو۔ پبلشنگ ہاؤس MCNMO۔ 2004.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں