منتجات الفنتك والأعمال

واحد من المفاهيم اللي أحيان يفهم بسياق مختلف ويخلينا نكتب الكود بطريقة تزيد طبقة من التعقيد على…

واحد من المفاهيم اللي أحيان يفهم بسياق مختلف ويخلينا نكتب الكود بطريقة تزيد طبقة من التعقيد على الكود هو ال DRY (Don't Repeat Your Self) الفكرة هنا أنه كثير منا لما يقرأ عن هذا المفهوم يتبادر لذهنه ال code…

واحد من المفاهيم اللي أحيان يفهم بسياق مختلف ويخلينا نكتب الكود بطريقة تزيد طبقة من التعقيد على الكود هو ال DRY (Don't Repeat Your Self)
الفكرة هنا أنه كثير منا لما يقرأ عن هذا المفهوم يتبادر لذهنه ال code duplication أو تكرار نفس الكود أكثر من مرة.
رغم أن الفكرة مختلقة شوية لأن المشكلة مش في تكرار الكود نفسه، بل في تكرار المعرفة اللي يعبر عنها الكود. كلما كررت نفس المعرفة في أماكن متعددة زادت احتمالية ظهور مشاكل مستقبلية.
لو عندك قاعدة بزنس use case ومثلتها بكود معين. لو كررت نفس ال use case في أكثر من مكان بالكود، حتى لو اختلفت السطور شوية فأي تغيير على ال use case بالمستقبل بيكون كارثة. لأنك مش بس تحتاج تعدل مكان واحد، لازم تلاحق كل مكان استخدمت فيه نفس المعرفة. لو نسيت مكان؟ النظام ممكن يصير غير متناسق.
نجي على مفهوم مختلف شوي وهو WET (Write Everything Twice) واللي يعطينا منظور مختلف. مش كل تكرار للكود خطأ. أحيان تكرار الكود يكون منطقي لما تخدم كل قطعة كود use case مختلفة. لما يكون كل تكرار يعبر عن معرفة جديدة مش تكرار لنفس المعرفة هنا التكرار مقبول ومنطقي تمامًا.
مبدأ ال DRY مهم، لكن المبالغة فيه ممكن تؤدي لتعقيد الكود. (Over-Abstraction) قد يحول الكود إلى شيء صعب الفهم والصيانة. التحدي هو إنك تعرف متى تكرر ومتى تتجنب التكرار.
الهدف مش إنك تخاف من تكرار الكود أو تلغي أي تكرار بشكل عشوائي. الأهم إنك تفهم الفرق بين تكرار الكود وتكرار المعرفة، وتبني كود يخدم المشروع بشكل واضح ومستدام.

LinkedIn

مصدر المنشور

هذا المحتوى نُشر أصلًا كمنشور على LinkedIn. يمكنك فتحه في تبويب جديد.

فتح على LinkedIn