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

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

المغزى

الاعتراض على 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 سبتمبر

أخبار ذات صلة

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