برمجياتقراءة دقيقتين

مطوّر سابق: نظام أوامر الشراء في Amazon كان يعالج طلبًا أو اثنين في الثانية بمئات المهندسين

نشر مطوّر عمل على نظام معالجة أوامر الشراء في Amazon مقالًا في 4 سبتمبر 2026 بعنوان There’s No Limit to How Bad Code Can Get. وذكر فيه أن النظام كان يعالج طلبًا أو اثنين في الثانية فقط، على جهاز واحد قوي.

ولتقدير الرقم، يرى الكاتب أن نظامًا كهذا يفترض أن يعالج أضعاف ذلك بكثير. وكان النظام يعمل بمئات المهندسين، في حين أن العمل نفسه يحتاج نظريًا إلى نحو 24 مهندسًا.

لكن الفكرة التي يبنيها المقال لا تخص Amazon، بل تخص التشبيهات الشائعة عن الكود السيئ. فكثيرًا ما يوصف بأنه سفينة تغرق أو مبنى على وشك الانهيار. ويرى الكاتب أن التشبيهين خاطئان، لأن السفينة والمبنى لهما حد أقصى للفشل: يسقطان، ثم تبدأ الأمور من نقطة الصفر.

أما الكود فليس له هذا الحد. فهناك دائمًا مجال لطبقة وسيطة إضافية (layer of indirection)، ولقدر أقل قليلًا من الأداء. ولا يوجد قاع يتوقف عنده التدهور.

ويفسّر ذلك، بحسب المقال، فشل كل محاولات إعادة بناء النظام. فقد كان فهمه يحتاج إلى سنوات، وكان يتغير في أثناء محاولة فهمه.

وتمتد الملاحظة إلى الفرق الصغيرة أيضًا. فالشركة حين تفشل تملك خيار الإفلاس والبداية من جديد، أما قاعدة الكود (codebase) فلا تملك هذا الخيار. لا توجد لحظة إعادة ضبط، بل تراكم مستمر، وكل قرار سريع اليوم يضيف طبقة يصعب على من يأتي بعده فهمها.

المصادر

  1. مقال There's No Limit to How Bad Code Can Get

من عدد الأحد 24 ربيع الأول - 6 سبتمبر

أخبار ذات صلة

برمجيات

Alex Kladov: لا تجعل دالة عامة تنادي دالة عامة أخرى، بل استخرج دالة خاصة يناديها الاثنان

المغزى: الواجهة العامة مصممة لراحة من يستخدمها، وحين تُبنى عليها تفاصيل التنفيذ الداخلي تتراكم فيها معاملات لا تخص المستخدم، ويصبح كل تعديل فيها تعديلًا يصل إلى الجميع.

21 جمادى الأولى - 1 نوفمبر
برمجيات

Sean Goedecke: بساطة الأنظمة تأتي من الشروط التي تخلّت عنها، والنماذج اللغوية تفعل العكس

المغزى: الكود الذي يكتبه نموذج لغوي يميل إلى تغطية كل احتمال، فيتحول سؤال المراجعة من صحة الكود إلى ما إذا كان يحقق شرطًا مطلوبًا فعلًا، وهذا قرار يحتاج فهم العمل لا الكود وحده.

8 جمادى الأولى - 19 أكتوبر

أخبار الأحد 24 ربيع الأول - 6 سبتمبر