تكرار الكود مقابل التجريدات الخاطئة

غالبًا ما يواجه المطورون حيرة في الاختيار.

يجب عليك الاختيار بين مبدأ "لا تكرر نفسك" (Don't Repeat Yourself) أو السماح ببعض تكرار الكود.

يُعد مبدأ DRY قاعدة أساسية في تصميم البرمجيات. ولكن المبالغة في السعي وراءه تخلق مشكلة جديدة. أنت تقوم بإنشاء تجريد خاطئ (wrong abstraction).

التجريد الخاطئ يكلف أكثر من تكرار الكود.

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

لكن التجريد المبكر يقتل سرعة المشروع. ويفسد سهولة صيانة الكود الخاص بك.

عندما تقوم بالتجريد في وقت مبكر جدًا، ستواجه هذه المشكلات:

  • زيادة التعقيد. التجريدات السيئة تضيف طبقات من الارتباك.
  • كود جامد. يصبح من الصعب تغيير جزء واحد دون كسر أجزاء أخرى.
  • منطق خفي. ستقضي وقتًا في تتبع الكود أكثر مما تقضيه في كتابته.

أحيانًا، يكون التكرار هو الخيار العملي. فهو يحافظ على بساطة ووضوح الكود. ويسمح لك بتغيير أجزاء من نظامك بشكل مستقل.

لا تبنِ حلاً عامًا لمشكلة لم تفهمها بالكامل بعد. انتظر حتى يصبح النمط واضحًا.

المصدر: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-2016-2k3n