ما يُقبلWhat is acceptable

تخصيص يعالج مشكلة حقيقية لا يمكن حلها بتهيئة. القيمة تُقاس بالمشكلة لا بالميزة.A customisation addressing a real problem configuration cannot solve. Value is measured by the problem, not the feature.

تعديل الكودEditing core code

التعديل المباشر في الكود الأساسي يجعل كل تحديث عملية خطرة. الأفضل تخصيص منفصل قدر الإمكان.Direct edits to core code make every update a risky operation. Separate customisation is preferable where possible.

التوثيقDocumentation

لكل تخصيص: السبب، الملف، والمالك. بدون سجل تُنسى التخصيصات وتتعطل الترقية.Per customisation: reason, file and owner. Without a log, customisations are forgotten and the upgrade breaks.

الاختبارTesting

كل تخصيص يُختبر عند كل تحديث. التحديث الذي لا يُختبر مع التخصيصات يُنتج عطلاً.Every customisation is tested on each update. An update untested with customisations produces a failure.

البديلThe alternative

اسأل أولاً: هل يمكن تعديل الإجراء بدل النظام؟ تغيير العملية أرخص من تغيير الكود.Ask first whether the procedure can change instead of the system. Changing the process is cheaper than changing code.

المراجعةReview

مراجعة دورية للتخصيصات المتراكمة وإزالة ما لم يعد مستخدماً. التراكم يُنتج نظاماً لا يشبه الأصل.Periodic review of accumulated customisations, removing unused ones. Accumulation produces a system unlike the original.