انجینئری نظام کو برقرار رکھتے اور بہتری لانے کے لئے اکثر ادارے کو ایک اہم فیصلہ کرنا پڑتا ہے: کیا انہیں اس وقت کے حصوں کو دوبارہ تبدیل کرنا چاہئے یا انہیں مکمل طور پر لکھنا چاہئے؟

دوبارہ سمجھ لینا

ریختہ میں داخل ہونا شامل ہے موجودہ نظاموں کو تبدیل کیے بغیر اپنے مرکزی کردار کی بہتری کے لیے بے مقصد بنانا۔ اس کا مقصد کوڈ کی خوبی، پڑھنا، پڑھنا اور برقرار رکھنا ہے جبکہ نظام کی طرز کو محفوظ رکھنا ہے۔یہ رسائی اکثر تکنیکی قرضوں کو کم کرنے اور مستقبل کے ارتقا کے لیے نظام تیار کرنے کے لیے استعمال ہوتی ہے۔یہ اضافہ نہیں ہوتا کہ کوڈ کی اندرونی ساخت کو بہتر بنایا جائے، محفوظ اور تیز تر ہو جائے۔

انتہائی حساس اور کوڈ اسکیم

انتہائی منظم ہدف "کوڈ خوشبو"—سور چہرے ایسے اشارے جو عموماً نظام کے گہرے مسائل کے مطابق ہوتے ہیں. مثالوں میں کوڈ، لمبی اقسام، بڑے پیمانے پر، اور بہت بڑی تعداد میں توڑ پھوڑ شامل ہیں۔ ان خوشبووں کو ختم کرنے سے ٹیمیں کوڈ کو بہتر بنانے اور ٹیسٹنگ کر سکتی ہیں۔

جب دوبارہ شادی کرنا ممکن ہو

دوبارہ شروع کرنا سب سے مؤثر ہے جب موجودہ نظام اب تک آواز پیدا کرتا ہے لیکن اعتدال پسند تکنیکی قرضوں کو سمیٹتا ہے. یہ بھی مناسب ہے جب کاروباری منطق پیچیدہ اور بااثر ہے، جیسے کہ ہارڈ ون ڈومین علم کے ساتھ دوبارہ شروع کرنے کا خطرہ ہے. ٹیمیں جو اپنے ترقیاتی چکر کے حصے کے طور پر دوبارہ شروع کرتی ہیں. "Bycout Power" کو صحت مند اور بڑے پیمانے پر دوبارہ حاصل کرنے کے لیے درکار ہوتی ہیں کیونکہ آپ کو چھوٹی سی سیریز میں دوبارہ دوبارہ شروع کرنے کی ضرورت ہوتی ہے

تحریری تحریر کو سمجھنے

اس کے برعکس ، تحریری طور پر ، موجودہ نظام کو دوبارہ قائم کرنے یا اس سے متعلقہ طور پر نئے نظام کو تشکیل دینے میں شامل ہے ۔ جب موجودہ نظام کو غیر واضح ، بہت پیچیدہ یا اب کاروباری ضروریات پوری نہیں کرتا تو دوبارہ تحریر ایک نیا آغاز فراہم کر سکتی ہے ، جسے جدید آرکیٹیکچر اور ٹیکنالوجی کو عمل میں لانے کی اجازت دی جاتی ہے ۔

گرینفیلڈ وز۔ براؤنفیلڈ ری رائٹر ہیں۔

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

جب دوبارہ تحریر کرنے کی کوشش کریں

تحریریں درست ہیں جب موجودہ نظام ایسے مقام تک پہنچ جائے جہاں دوبارہ تعمیر کرنے کا زیادہ فائدہ ہوتا ۔ انسائکٹس میں شامل ہیں: کوڈبیس غیر مجاز ہے، آرکائیو شدہ. (جیسے، اسکیل نہیں).

خطرات اور نقصانات

یہ سمجھتے ہوئے کہ یہ ٹیمیں تنظیمی خطرے اور بجٹ کے چکروں سے اپنے انتخاب کو روک سکتی ہیں ۔

خطرات

ریختہ خطرات : سب سے بڑا خطرہ یہ ہے کہ دوبارہ کبھی دوبارہ شروع نہ کیا جائے—یہ ایک طویل مدت بن جاتا ہے جب کہ نظام کے زیریں مسائل کا شکار ہو جاتے ہیں،

[Referferfo:] [1] سب سے مشہور آگاہی جوئل اسپولسکی کے مضمون سے ملتی ہے "Thishings You nover do Do, Part I', ، جہاں وہ بات کرتا ہے کہ وہ دوبارہ سے ایک عارضی طور پر نقل کرتا ہے، اس کے بعد کے متبادل نظام کو بہتر بنانے کے لیے ضروری ہے (کم وقت میں)، (کم معلومات کے لیے) اور دیگر نظام کو غیر ضروری نظام میں شامل کرنے کے لیے استعمال کرنے کی ضرورت سے زیادہ ہے

Analysis کا استعمال

دوبارہ شروع ہونے والے اخراجات کو وقت کے ساتھ پھیلانے کے لئے سافٹ ویئر انجینئری انسٹی ٹیوٹ کی ایک تحقیق نے دریافت کیا کہ 10–100x کی ادائیگی کے دوران ایک ضلع درست کرنا اور زیادہ سے زیادہ تاکہ اسے درست کر سکیں۔ مگر کوڈ کی وضاحت سے بہت سے غلط استعمالات کو بہتر بنایا جا سکے ۔۔

انجینئری لیڈروں کے لیے فیصلہ فرم ورک

دوبارہ ترمیم اور دوبارہ تحریر کے درمیان میں ترمیم کرنا نظام پیچیدگی، کاروباری ترجیحات، دستیاب وسائل اور طویل مدتی مقاصد جیسے عناصر پر منحصر ہے۔ ذیل میں درج فیصلہ فریم ورک آپ کے مخصوص حالات کا جائزہ لینے میں مدد دے سکتا ہے۔

صحت کے مسائل

کو ڈِک‌بی کا نظامِ اِستعمال کریں ۔ کيکُلمک پیچیدگی ، کوڈ کوٹنگ ، توڑ پھوڑ اور خامی کی کمی جیسے آلات ۔ اگر نظام کو مستحکم کرنے میں مشکل لیکن کاروباری منطقی طور پر کمزور لیکن دوبارہ سے کام نہ ہو سکے تو پھر کافی ساقط ہو سکتا ہے ۔

کاروباری مقاصد

کاروباری نتائج کے لیے تکنیکی فیصلے کا نقشہ۔ اگر مقصد اگلے چوتھائی کے اندر موجود خصوصیات کو دوبارہ حاصل کرنا ہے تو عام طور پر دوبارہ سے محفوظ ہوتا ہے۔ اگر مقصد مختلف عمل یا تناسبات کو درست کرنا ہو تو پھر اسے دوبارہ شروع کر دیا جائے گا

ٹیم کی کارکردگی اور علمِ‌نجوم

اس طرح سے پرو فاعل کو اب تک سمجھنے پر بہت زیادہ انحصار کرتا ہے. اگر اصل مصنفین ٹیم پر ابھی تک موجود ہیں، تو پھر سے دوبارہ شروع کرنا زیادہ مؤثر ہے. اگر کوڈbase چھوٹی دستاویزات کے ساتھ، ایک تحریر شدہ چیز ٹیسٹ کرنے کا خطرہ ظاہر ہو سکتا ہے. مگر اس صورت میں "محکمہ کے ساتھ نئے نظام کو متوازن بنانے کا آلہ" (انگریزی:

حقیقی-world مثالیں

اس بات کا جائزہ لینے سے کہ اس انتخاب کی دیگر تنظیموں نے عملی بصیرت فراہم کی ہے کیسے؟

مثال: بیسکپ کی دوبارہ تعمیر

جب ای میل سروس کو ترقی دی گئی تو بیسکپ کی ٹیم نے موجودہ ریلز کوڈ کو دوبارہ شروع کرنے کی بجائے درجہ بندی سے دوبارہ شروع کیا ۔انہوں نے ڈومین منطق کو سروس چیزوں میں شامل کرنے ، بہتر ٹیسٹ کو حل کرنے اور مردہ کوڈ کو ختم کرنے کی اجازت دی ۔

مثال: کتابت کی دوبارہ تحریر

تازہ کتب، ایک اکاؤنٹ سافٹ ویئر کمپنی، مشہور طور پر ان کے پورے پلیٹ فارم کو ایک جدید، غیر معیاری نظام سے دوبارہ شروع کیا. یہ فیصلہ ایک بہت بڑی کوشش اور تناظر کے ساتھ شروع ہوا جو کئی سالوں تک عمل اور تنسیخ کی تنگی کے ساتھ دوبارہ حل نہ کرسکے.

مثال: مارٹن فوسٹر کی ری میکنگ کمیونٹی

مارٹن فولر، گريٴٴٴٴٴٴ کتاب کے مصنف: کو کو کو ششيٴ کوڈ کی تیاری ، طویل عرصہ سے تصدیق کی گئی ہے کہ اگر بیشتر نظام جات ٹیسٹ اور مسلسل جانچنے ميں ٹیموں کا انتظام بہتر ہو سکتے ہیں تو [FT2] کی بورڈنگ کی بورڈنگ کی طرف سے یہ سب سے پہلی سیریز نہیں کی جا سکتی۔

انتخاب کرنا : درست انتخاب کرنا

دونوں کو دوبارہ شروع اور تحریریں انجینئری نظام انتظامیہ میں جگہ حاصل کرتی ہیں۔ مخصوص صورت حال کا ایک محتاط تجزیہ انتہائی مؤثر طریقہ کار کی طرف رہنمائی کرے گا، خطرے کو حل کرنا، قیمت اور مستقبل کی تیاری کے لیے تیار کرنا درست طریقہ کار میں اکثر ان حصوں کو دوبارہ شامل کرنا شامل کرتا ہے جو درست نہیں ہوتے اور صرف ان اجزاء کو حل کر سکتے ہیں جنہیں آپ بہتر طور پر حل کر سکتے ہیں