فرق ومنتجاتقراءة دقيقتين

ملاحظة من Evan Hahn: المبرمجون يتقبلون map وfilter ويعترضون على reduce في مراجعة الكود

نشر المطور Evan Hahn في 13 سبتمبر 2026 تدوينة قصيرة بعنوان Anecdotally, programmers dislike reduce. ويصفها بنفسه بأنها ملاحظة شخصية لا دراسة.

يقول Hahn إنه يستخدم map وfilter كثيرًا، ولا يعلّق عليهما أحد في مراجعة الكود. لكنه حين يستخدم reduce، يأتيه تعليق بأن هذا الجزء صعب القراءة. ولا يقول إن الاعتراض خاطئ، بل إنه يعيد كتابة الكود ويمضي.

ويمكن فهم الفرق من طريقة عمل كل دالة. فـ map تحوّل كل عنصر في القائمة إلى عنصر آخر، فيكفي القارئ أن يفهم سطرًا واحدًا. أما reduce فتجمع القائمة كلها في قيمة واحدة، أي أن الكود يحمل حالة يحدّثها مع كل خطوة. وعلى القارئ أن يتتبع الخطوات واحدة تلو الأخرى ليعرف ما في تلك الحالة في كل لحظة.

ويطرح Hahn احتمالات أخرى بأمانة: ربما لأن reduce أقل شهرة، أو لأنها أبطأ في بعض اللغات، أو ربما يرى نمطًا غير موجود أصلًا.

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

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

المصادر

  1. تدوينة Evan Hahn
  2. توثيق reduce في JavaScript على MDN
  3. النقاش على Lobsters

من عدد الاثنين 3 ربيع الآخر - 14 سبتمبر

أخبار ذات صلة

برمجيات

مشروع would-you-merge المفتوح يقدّم 24 تمرينًا لاكتشاف أخطاء من النوع الذي يكتبه الـ AI

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

7 جمادى الأولى - 18 أكتوبر
فرق ومنتجات

تقرير Faros AI: المهام المنجزة زادت 33.7% مع الذكاء الاصطناعي، والنشر الأسبوعي تراجع 11.7%

المغزى: الذكاء الاصطناعي سرّع كتابة الكود، لكن الكود لا يصل إلى المستخدم إلا بعد المراجعة والدمج والنشر، وحين تكبر الـ pull requests يصبح الطابور قبل الدمج هو ما يحدد سرعة الفريق الحقيقية.

28 جمادى الأولى - 8 نوفمبر
فرق ومنتجات

GitHub تختبر صفحة overview جديدة للـ pull request تضع صندوق الدمج في الأعلى مع فلتر للتعليقات المفتوحة

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

26 جمادى الأولى - 6 نوفمبر

أخبار الاثنين 3 ربيع الآخر - 14 سبتمبر