إهمال مكونات نظام التصميم دون كسر فرق المنتج
كيفية طرح تغييرات جذرية في نظام التصميم في التطبيقات الكبيرة: الإعلان والإيقاف والترحيل باستخدام تعديلات التعليمات البرمجية والإزالة باستخدام الإصدار الدلالي وتتبع الاستخدام.
الوجبات الجاهزة الأساسية
إيقاف أحد المكونات في أربع خطوات: الإعلان عن التغيير مع السبب والاستبدال، ووضع علامة على المكون القديم المهمل في إصدار ثانوي مع تحذيرات واضحة، ومساعدة الفرق على الترحيل باستخدام الأدلة وتعديلات التعليمات البرمجية الآلية، وإزالته فقط في الإصدار الرئيسي التالي. تتبع عدد الشاشات التي لا تزال تستخدمها في كل خطوة، ولا تقم بإزالتها حتى يقترب الاستخدام من الصفر.
لماذا يحدث الإهمال بشكل خاطئ
تفشل تغييرات نظام التصميم عندما تفاجئ فرق المنتج: يختفي أحد المكونات في التحديث، ويتوقف البناء، وتقوم الفرق بتثبيت الإصدار القديم وتتوقف عن الترقية. وبمجرد حدوث ذلك، يفقد النظام فائدته الرئيسية، وهي الاتساق، لأن أجزاء مختلفة من المنتج تنجرف إلى إصدارات مختلفة.
عملية من أربع خطوات
يوفر الإصدار الدلالي عقدًا بسيطًا: يتم إدخال تغييرات غير متوافقة في إصدار رئيسي، وعندما تقوم بإيقاف جزء من واجهة برمجة التطبيقات (API)، يجب عليك تحديث الوثائق وإرسال إصدار ثانوي مع الإهمال في مكانه، قبل إزالته لاحقًا.
- الإعلان: اشرح السبب، وأظهر البديل، وحدد جدولًا زمنيًا.
- إهمال: قم بوضع علامة عليه في المستندات وفي التعليمات البرمجية، باستخدام وحدة التحكم أو تحذير الوبر الذي يرتبط بالدليل.
- الترحيل: توفير دليل مكتوب، وبالنسبة للتعليمات البرمجية، كود مود يقوم بتحديث الاستخدامات تلقائيًا.
- إزالة: في الإصدار الرئيسي التالي، بمجرد أن يقترب الاستخدام من الصفر.
أتمتة عملية الترحيل
Codemods هي نصوص برمجية تعيد كتابة التعليمات البرمجية عبر قاعدة التعليمات البرمجية. تقوم أدوات مثل jscodeshift بتشغيل تعديلات التعليمات البرمجية على العديد من ملفات JavaScript أو TypeScript مرة واحدة، لذلك يمكن تطبيق إعادة تسمية الدعامة أو تبديل المكونات في دقائق بدلاً من أسابيع. قم بإقرانها بقواعد الوبر التي تشير إلى الاستخدامات المتبقية.
اعتماد التدبير
لا يمكنك التخطيط لعملية الإزالة دون معرفة من لا يزال يستخدم أحد المكونات. تتبع الاستخدام في التعليمات البرمجية (عمليات الاستيراد، وتحذيرات الوبر) وفي ملفات التصميم (تحليلات المكتبة في أداة التصميم الخاصة بك). قم بنشر الأرقام حتى تتمكن الفرق من رؤية التقدم، ومساعدة الفرق القليلة الأخيرة بشكل مباشر بدلاً من فرض موعد نهائي.
لا ننسى الجانب التصميم
قم بإهمال المكون الموجود في مكتبة التصميم أيضًا: أعد تسميته ببادئة "مهمل"، واربطه بالبديل، وأوقف ظهوره في البحث. وبخلاف ذلك، يستمر المصممون في استخدامه في أعمالهم الجديدة ولا تنتهي عملية الترحيل أبدًا. يجب أن يكون سلوك الحركة والتفاعل جزءًا من ملاحظات التغيير، لأن البديل الذي يتحرك بشكل مختلف يمكن أن يشعر بالكسر حتى لو كان يبدو كما هو.
مفتاح Principle للتذكر
- الإعلان، والرفض، والترحيل، والإزالة: لا تقفز مباشرة إلى الإزالة
- إهمال في إصدار ثانوي؛ إزالة في الاصدار الرئيسي
- استخدم codemods وقواعد Lint لأتمتة عملية الترحيل
- تتبع الاستخدام في كل من ملفات التعليمات البرمجية والتصميم
- قم بتضمين تغييرات الحركة والتفاعل في ملاحظات الإصدار
الأسئلة المتداولة
المصادر
- Semantic Versioning 2.0.0 — semver.org
- jscodeshift: a JavaScript codemod toolkit — جيثب (ميتا)