كمبرمج يجب عليك أن تعرف بعض المفاهيم وكيف يمكنك التعامل معها خصوصا تلك التي تخص طريقة كتابة الكود وما يعرف ب Code quality, وسيتم طرح عدة مواضيع تخص هذا الامر أولها عن Magic numbers
ما هو Magic number؟
Magic Number هو استعمال مباشر للارقام في الكود الذي تكتبه, مثلا في حالة أردت أن تقوم بالتأكد أن قيمة متغير age ستكتب الكود على هذا الشكل :
if(age > 18){ .... }
في هذا المثال الرقم 18 يسمى Magic number
ما المشكل المترتب عن استعمال Magic numbers؟
المشكل في استعمال الارقام بهذا الشكل يتضح مثلا عندما تريد تغيير هذه القيمة, تخيل أن هذا الرقم تستعمله أكثر من 10 مرات في الكود الذي كتبته, فلو أردت أن تغير من قيمة هذا الرقم يجب عليك أن تقوم بالتغيير 10 مرات ولو نسيت واحد منها ستقوم بتغيير عمل الكود
إذن ما الحل لمعالجة هذا الامر؟
الحل في أن تقوم بعمل متغير يحتوي على هذه القيمة بالشكل التالي(هذا مثال لكود بلغة جافا ويمكنك تعميم هذا الامر في كل اللغات)
public static final int MAX_RESTRICT_AGE = 18;
....
if(age > MAX_RESTRICT_AGE) {....}
ماهي فوائد هذه الطريقة؟
بهذه الطريقة لو أردت تغيير هذه القيمة يكفي أن تغيرها مرة واحدة, كما أنه يمكنك استعمالها خارج هذه الكلاس بما أنها public static
الفائدة الثانية هي أن هذه الطريقة تعطي كود سهل في القراءة والتعامل معه
وللاشارة بعض أدوات التي تقوم بمعاينة Code quality تقوم بتنبيهك عند استعمال مثل هذه الطريقة في الكود لتحويل الارقام لمتغيرات, وهذه الطريقة ينصح بها كذلك لكل أنواع المتغيرات ك String ...
وفي النهاية ما رأيك في هذه الطريقة؟ وهل كنت تعلم بهذا المفهوم من قبل؟
ليست هناك تعليقات:
إرسال تعليق