مرجع
آخر الزيارات

رقم سحري

321 كلمة•0 مشاهدة•🗒️ منذ 14 ساعة
باختصار: الرقم السحري في برمجة الحاسوب هو مصطلح يُشير إلى قيمة فريدة ذات معنى غير مُفسَّر أو تكرارات متعددة، ويُفضَّل استبدالها بثابت مُسمَّى، أو إلى قيمة رقمية أو نصية ثابتة تُستعمل لتحديد صيغة ملف أو بروتوكول (للملفات، أو إلى قيمة فريدة مميزة يصعب…. تتناول المقالة 3 أقسام، منها «الأمثلة»، «price_tax = 1.05 * price» و«الأهمية».
المحتويات
  1. الأمثلة
  2. price_tax = 1.05 * price
  3. الأهمية

على سبيل التعريف، الرقم السحري في برمجة الحاسوب هو مصطلح يُشير إلى قيمة فريدة ذات معنى غير مُفسَّر أو تكرارات متعددة، ويُفضَّل استبدالها بثابت مُسمَّى، أو إلى قيمة رقمية أو نصية ثابتة تُستعمل لتحديد صيغة ملف أو بروتوكول (للملفات، أو إلى قيمة فريدة مميزة يصعب الخلط بينها وبين معانٍ أخرى (كالمُعرِّفات الفريدة العالمية). ونتناول فيما يلي مزيدًا من التفاصيل.

كذلك، يُمكن أن يُشير مُصطلح الرقم السحري كذلك إلى النمط المعاكس لاستخدام الأرقام مباشرةً في ترميز المصدر، وهو ما يُخالف إحدى أقدم قواعد البرمجة الواردة في أدلة لغات برمجة مثل كوبول وفورتران بي إل/1 التي يعود تاريخ تطويرها إلى عقد الستينيات من القرن العشرين.

الأمثلة

في هذا الإطار، في المثال التالي، والذي يحسب السعر بعد الضريبة، يُعد الرقم 1.05 رقمًا سحريًا:

price_tax = 1.05 * price

  • يمكن تحسين المثال السابق بإضافة متغير مُسمّى وصفيًا:
  • TAX = 0.05
  • price_tax = (1.0 + TAX) * price

الأهمية

ومن جهة أخرى، لا تقتصر المشاكل المُرتبطة بـالأرقام السحرية المذكورة هنا على الأنواع العددية، بل يُطبّق هذا المصطلح كذلك على أنواع بيانات أخرى حيث يكون استخدام ثابت مُسمّى أكثر مرونةً ووضوحًا. وبالتالي، فإن استخدام const string testUserName = "John" يكون أفضل من الظهور المتكرر للرقم السحري ' "John"في مجموعة الاختبار.

وفي هذا السياق، تلعب الأرقام السحرية دورًا هامًا في النصوص البرمجية، إذ يُخفي استخدام الأرقام السحرية غير المُسماة نية المطورين في اختيار هذا الرقم، كما يزيد من فرص حدوث أخطاء دقيقة، ويُصعّب تعديل البرنامج وتوسيعه في المستقبل. فمثلًا، يصعُب معرفة ما إذا كان كل رقم في العدد 3.14159265358979323846 مكتوبًا بشكل صحيح، أو ما إذا كان من الممكن اختصار الثابت إلى 3.14159 دون التأثير على وظائف البرنامج بسبب دقته المنخفضة. إن استبدال جميع الأرقام السحرية المهمة بثوابت مُسمّاة (تُسمى كذلك المتغيرات التوضيحية) يُسهّل قراءة البرامج وفهمها وصيانتها. كذلك يمكن أن تُؤدي الأسماء المُختارة لتكون ذات معنى في سياق البرنامج إلى ترميز يسهل على مُطوّرها فهمها، حتى لو لم يكن المؤلف الأصلي (أو حتى المؤلف الأصلي بعد مرور فترة زمنية). ومن الأمثلة على الثوابت المُسمّاة بطريقة غير مُفيدة int SIXTEEN = 16 ، بينما قد يقدم int NUMBER_OF_BITS = 16 is mo وصفًا أكثر وضوحًا.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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