صممها بحيث يتمكن أي شخص غير مطلع على النظام من العثور على الجزء المطلوب تغييره
لا يمكن تعديل موجه يتكون من جملة واحدة متصلة من التعليمات بأمان، لأنه لا يمكن لأحد أن يميز أي جملة منها تعتبر جملة أساسية. قم بتقسيمه إلى أقسام ثابتة بترتيب محدد.
- الدور والنطاق
- الغرض من هذا النداء، وبشكل صريح ما لا يُقصد به. فقرة قصيرة واحدة.
- المدخلات
- ما الذي سيتم تقديمه، وبأي شكل. حدد الحقول.
- القواعد
- القيود، في شكل قائمة. قاعدة واحدة في كل سطر، ويمكن إزالة كل منها على حدة.
- عقد الإنتاج
- ما يجب إرجاعه بالضبط. يُفضل استخدام مخطط وأداة محددة بدلاً من وصف التنسيق بالنص النثري.
- أمثلة
- اثنان أو ثلاثة، وحافظة صلبة واحدة على الأقل. وأخيرًا، لأنها الأجزاء التي يتم تغييرها في أغلب الأحيان.
الترتيب مهم بالنسبة للتخزين المؤقت وكذلك بالنسبة للقراءة: يتم معالجة كل ما هو ثابت أولاً، بحيث يمكن إعادة استخدام ذاكرة التخزين المؤقت الخاصة بالمزود عبر المكالمات المختلفة، ولا تتم إعادة معالجة سوى الجزء المتغير في النهاية.
القواعد التي تصمد أمام التحديات
- Write each rule so it can be tested. "Be helpful" cannot fail. "Never return a total that is not present in the source document" can.
- اذكر ما يجب فعله عندما يتعذر الالتزام بالقاعدة. فالتعليمات التي لا تتضمن أي مخرج بديل تؤدي إلى الابتكار، وهو نمط الفشل الذي تحاول تجنبه.
- يفضل اتباع قاعدة محددة واحدة على ثلاث قواعد عامة. فالقواعد العامة تتفاعل بطرق لا يمكن لأحد التنبؤ بها.
- احذف القواعد التي لم تعد لها جدوى. تتراكم الإرشادات الوقائية في المطالبات لمواجهة أخطاء تم إصلاحها في أماكن أخرى منذ أشهر، وكل واحدة منها تستهلك موارد وتستلزم اهتمامًا.
إذا لم تتمكن من تحديد الحالة التي تمت إضافة القاعدة من أجلها في عملية التقييم، فهذا مؤشر قوي على أنه يمكن حذفها. احذفها، وقم بتشغيل المجموعة، واكتشف ذلك.
اكتبها كأنها كود، لأنها كود بالفعل
الموجه هو المنطق الذي تقوم عليه الخطوة. ويجب أن يُخزَّن في المستودع، قيد المراجعة، مع سجل التغييرات.
- ملف واحد لكل موجه، في نظام التحكم في الإصدارات، وليس سلسلة نصية في إحدى الخدمات أو صفًا في قاعدة بيانات يمكن للمشغل تعديله دون مراجعة.
- قم بتعديله من خلال طلب سحب (pull request)، مع تضمين نتائج تقييم التغيير في الوصف. "تحسين دقة استثناءات الأخطاء من 71% إلى 84%، دون أي تراجع في الأداء الروتيني" هو ادعاء قابل للمراجعة.
- قم بختم النسخة المرجعية على كل سجل قرار. عندما تتغير جودة المخرجات، عليك أن تعرف ما الذي تغير ومتى حدث ذلك.
- لا تقم أبدًا بتعديل موجه الأوامر مباشرةً في بيئة الإنتاج. فهذا هو السبب الأكثر شيوعًا لحدوث خلل في نظام كان يعمل بشكل جيد الأسبوع الماضي دون أن يتمكن أحد من تفسير السبب.
اختبار التسليم
السؤال الحقيقي هو: هل يمكن لمهندس مبتدئ أن يقوم بهذا التغيير بأمان في أسبوعه الأول؟ اختبر ذلك مباشرةً.
- أعطِ الموجّه ومجموعة تقييمه إلى شخص لم يكتبها.
- اطلب منهم إجراء تغيير سلوكي محدد واحد: تشديد إحدى القواعد، أو إضافة فئة جديدة، أو تغيير الإجراء المتبع في حالة وجود مدخلات غامضة.
- راقبوا الأماكن التي يترددون فيها. فكل تردد هو مكان فشل فيه الهيكل، وليس مكانًا تأخروا فيه.
- اطلب منهم إجراء عمليات التقييم وقراءة الفرق. وإذا لم يتمكنوا من تحديد ما إذا كان التغيير الذي أجرواه يمثل تحسناً أم لا، فإن مجموعة التقييم هي ما يجب تصحيحه.
المُحفز الذي يجتاز هذا الاختبار هو «مكون». أما الذي لا يجتازه فهو «شخص»، والناس يغادرون.
هل تريد أن ننفّذ هذا معك؟
التدقيق هو هذه المنهجية موجّهة إلى أنظمتك، وفي نهايته خطة بناء مُسعّرة.
تحديد موعد مكالمة
