غالبا ما يكون من المفيد محاذاة العناصر المتشابهة بصورة عمودية لجعل تلك الفيروسات التي تنشأ عن الطباعة أكثر وضوحا. قارن:
$search = array('a', 'b', 'c', 'd', 'e'); $replacement = array('foo', 'bar', 'baz', 'quux'); // Another example: $value = 0; $anothervalue = 1; $yetanothervalue = 2;
مع:
$search = array('a', 'b', 'c', 'd', 'e'); $replacement = array('foo', 'bar', 'baz', 'quux'); // مثال آخر: $value = 0; $anothervalue = 1; $yetanothervalue = 2;
المثال السابق يوضح أمرين بشكل بديهي لم تكونا واضحين في المثال الأسبق:
- تتعلق مصطلحات البحث والاستبدال وتتطابق: وهي ليست متغيرات متميزة;
- كما يوجد مصطلحات بحثية أكثر من مصطلحات الاستبدال. إذا كان هذا فيروسا، سيكون من الممكن بصورة تحديده بشكل أكبر.
ومن بين الأمور الجدلية ضد المحاذاة العمودية:
- التبعية الخاطئة لما بين السطور: التنسيق المجدول يخلق تبعيات عبر السطور. على سبيل المثال إذا تمت إضافة علامة محددة مع اسم طويل إلى الشكل العام الجدولي، فربما يكون من الضروري زيادة عرض العمود لاستيعابها. وهذا يجبر على وجود تغيرات كبرى للشفرة المصدرية أكثر من الضروري، والتغيير الجوهري يمكن فقدانه في ظل هذا الضجيج. وهذا أمر مضر للتحكم في الشفرة المصدرية حيث تكون الفوارق الفاحصة بين النسخ أمر رئيسي.
- الضعف: إذا لم يقم المبرمج بتنسيق الجدول بدقة عند القيام بتغيير ما، مع أخذ النقطة السابقة في الحسبان بصورة مشروعة، ستصبح النتيجة فوضاوية تؤدي إلى التدهور مع مزيد من التغييرات.
- مقاومة التغيرات: التنسيق الجدولي يتطلب بذل كثير من الجهد للحفاظ عليه. ربما يضع ذلك المبرمج في حالة سكون تجعله يعدل عن صنع أي تغييرات مفيدة مثل إضافة أو تصحيح أو تحسين اسم العلامة التحديدية لأن ذلك سيؤدي إلى إثارة الفوضى في التنسيق.
- الاعتماد على الخط ذو المسافات الأحادية: من المفترض في التنسيق الجدولي أن يستعين المحرر بخط ذو عرض ثابت. معظم محرري الشفرات المعاصرين يساندون الخطوط النسبية، وربما يفضل المبرمج استخدام الخط النسبي لسهولة قراءته.
- الاعتماد على الأداة: يمكن تخفيف بعض الجهود الخاصة بالاحتفاظ بالمحاذاى عبر الأدوات (مثال: محرر الشفرة المصدرية الذي يدعم الوقفات المرنة للتاب).
Source: wikipedia.org