التواصل مع الدعم

نردّ عبر البريد الإلكتروني، عادةً خلال يومين.

يفحص Google reCAPTCHA هذا الإرسال للحماية من إساءة الاستخدام؛ وتُرسَل بيانات إلى Google. لا يُحمَّل السكربت إلا عند فتح هذا النموذج.

→ كل المقالات

لماذا يتكون معظم ملف الإعدادات لدينا من تعليقات

ملف .htaccess على هذا الخادم طوله 478 سطرًا. القواعد منها 98. والتعليقات 309.

309 — أسطر تعليقات 98 — قواعد 11 سطرًا تحمل تاريخًا، و12 تحمل قياسًا 478 سطرًا في المجموع

ثلاثة أسطر من الشرح مقابل كل سطر يفعل شيئًا. هذه النسبة لم تكن مخططًا لها؛ بل هي ما يحدث عندما تكون قاعدة كتابة أي قاعدة أن يُكتب سببها بجانبها.

لماذا تحتاج قاعدة إعادة الكتابة إلى فقرة

القاعدة في إعدادات الخادم عصيّة على القراءة لاحقًا على نحو غير معتاد. فهي مقتضبة بطبيعتها، ولا اسم لها، ولا يمكن تتبّع تنفيذها خطوة بخطوة، وأثرها غير مرئي ما لم يُطلب العنوان المناسب تمامًا مصادفةً. وبعد ستة أشهر، يكون الجواب الصادق الوحيد عن «لماذا هذه هنا؟» في الغالب مجرد تخمين.

والأسوأ أن التخمين الخاطئ رخيص ويبدو آمنًا. فالقاعدة التي لا يفهمها أحد هي قاعدة سيحذفها أحدهم في النهاية أثناء الترتيب، فيعود ما كانت تمنعه.

لذا تحمل كل قاعدة هنا الغرض منها، والمكان الذي يمكن التحقق منه فيه. وفي أسطر التعليقات أحد عشر سطرًا تحمل تاريخًا، واثنا عشر تحمل رقمًا مقيسًا. وهذان هما الأمران اللذان يتيحان لقارئ المستقبل أن يقرر ما إذا كان السبب لا يزال قائمًا.

ثلاث قواعد ما كانت لتبقى لولا تعليقاتها

رمز لغة بدا كامتداد لملف سكربت. كانت قاعدة تحجب ملفات المصدر المتبقية تعتمد على الامتداد، وكان أحد الامتدادات .pl — أي Perl. ومعاينات التصاميم تُسمّى على شكل 2900.pl.svg، حيث pl تعني البولندية. فصارت كل معاينة بولندية تجيب بالرمز 403 بينما بقيت كل اللغات الأخرى سليمة. والتعليق يقول الآن إن pl غائب عن القائمة عمدًا، ولماذا، وما الذي قيس وفي أي يوم. ولولا ذلك لأعاده إلى القائمة أول من يرتّبها بعد ذلك.

مفتاحان حيث يبدو أن واحدًا يكفي. يجب ألا تُضغط الملفات المضغوطة مسبقًا مرة أخرى عند إرسالها. يضبط الإعداد no-gzip، وهو ما يوقف أحد ضاغطَي الخادم. أما الآخر فكان يعيد ضغط الملف الجاهز بينما لا تزال الترويسة تعلن gzip، فتلقّت المتصفحات محتوى غير مقروء. ويشرح التعليق لماذا يوجد no-gzip و no-brotli كلاهما، لأن حذف الثاني يبدو مجرد ترتيب.

قاعدة منع معكوسة. القاعدة التي تحجب النسخ الاحتياطية لا تسرد الامتدادات الممنوعة. بل تفحص ما إذا كان اسم الملف يحتوي على امتداد مصدر ليس في آخره — وهذا يلتقط حتى الأسماء التي لم يخترعها أحد بعد. ويسرد التعليق الأسماء الخمسة التي أخطأت فيها النسخة البديهية، مع رموز حالتها. اقرأ القاعدة وحدها فتبدو ذكية بلا داعٍ؛ واقرأ التعليق فتبدو الشيء الوحيد الذي ينجح.

الصيغة العامة

التعليقات التي تكرر ما يقوله الكود لا قيمة لها، والجميع يعرف ذلك. وليست هذه التعليقات من هذا النوع. فهي تسجّل ما لا يستطيع الكود تسجيله: ما الذي ساء، وما الذي قيس، وفي أي تاريخ، وما البديل الذي رُفض.

واختبار ما إذا كان التعليق يستحق الكتابة بسيط بما يكفي. لو حذف السطرَ الذي فوقه شخصٌ لا يعرف القصة، فهل سيتعطل شيء بصمت؟ إن كان الجواب نعم، فاكتب القصة. وإن كان لا، فلا تكتب شيئًا.

نسبة ثلاثة إلى واحد ليست هدفًا. إنها ما أنتجه ذلك الاختبار في ملف يكاد كل سطر فيه يوجد لأن أمرًا محددًا ساء.

إعلان