السبت، 12 ديسمبر 2015

نصائح تساعدك على تقليل أخطاء الكود




- أكتب الكود بطريقة منظّمة:

يجب عليك أن تكتب شفرتك البرمجية (الكود) بطريقة تساعدك على فهمها و التعديل عليها بطريقة سهلة، بل و حتى إن نشرتها يستطيع غيرك فهمها و معرفة مدلول كل متغير قمت بتعريفه.

يمكنك مثلاً :
كتابة كل إبن في الشفرة البرمجية داخل أباه مع مراعاة وضع مسافة تمكنك من التمييز بينهما


#include<iostream.h>

#include<conio.h>

main()

{

for( int i=0;i<5;i++)

{

cout<<"Clean Code!";

cout<<endl; // new line

if(i == 0)

{

cout<<"The first loop... \n";

}

}

getch();

return 0;

}


output:
كتباتك للكود بهذه الطريقة يسهل عليك معرفة كل جزء و الأجزاء الفرعية – الأب و إبنه - المتعلقة به.

- إختر اسماء المتغيرات بطريقة سليمة:
كثير من المبرمجين يهتم بكفاءة البرنامج بطريقة تجعلهم يتجهالون أو يتناسون إختيار اسماء مناسبة تُـعبر عن المتغير و الغرض منه

int x=0;

for( int i=0;i<5;i++)

{

x=x+i;

}

cout<<"x= "<<x;

output:


و الأفضل تسميت المتغير باسم يدل على أنه متغير حاصل جمع قيم الأعداد كالتالي:

int sum=0;

for( int i=0;i<5;i++)

{

sum += i;

}

cout<<"sum = "<<sum ;


output:


الطريقة الثانية ستسهل عليك معرفة و أغراض المتغيرات في كل مرة تقرأ فيها الكود، بدلاً من قراءة الكود كاملاً حتى تُـدرك عمل متغير معين.

- حدد موضع الشك:
عند حدوث خطأ ما في جزء من البرنامج قم بالتركيز على الجزء الذي تسبب في هذا الخطأ، و جرّب عليه كل ما تعرفه من حِـيَـل.

يمكنك إستخدام التعليق (comment) على الجزء المحدد حتى ترى سير البرنامج من دونه و تستطيع معرفة الخطأ

double sum=0;

double average;

for( int i=0;i<4;i++ )

{

sum += i;

sum =3;

average = sum/5;

cout<<"average ="<<average ;




output:

الخطأ أنه تم إسناد قيمة جديدة للمتغير (sum) الذي أدى إلى ناتج غير صحيح – سهل جدا صحيح؛ هذا لأن الكود بسيط، لكن في الأكواد الضخمة يكون الأمر صعباً.الفكرة هي أننا متأكدون من تعريف المتغيرات بطريقة صحيحة، حتى الحلقة التكرارية ()for لا يوجد بها خطأ و بالتالي يكون الخطأ بعد الحلقة التكرارية

double sum=0;

double average;

for( int i=0;i<4;i++ )

{

sum += i;

//sum =3;

average = sum/5;

cout<<average; 



output:


بعد جعل المتغير (3=sum) تعليقاً نلاحظ أن الناتج هو المطلوب.
يمكنك أيضاً إستخدام رسائل -جمل طباعة- لعرض قيم المتغيرات بعد كل جزء من الكود حتى تتأكد من قيم المتغيرات ما إذا كانت صحيحة أم لا.


هذا الأسلوب يسهل عليك عناء حذف أو ضياع أجزاء مهمة من الكود.


- أُثبت على رأيك:
في كثير من الأحيان نقوم بالتعديل أو حذف جزء من الكود، بل نضطر إلى تغيير الكود بصورة مخالفة تماماً لشكله الذي بدأ به. كل ذلك قد يحدث بسبب خطأ صغير سواء أكان الخطأ:
  • أخطاء بناء الجملة Syntax errors
  • أخطأء منطقية Logical errors
  • أخطاء وقت التشغيل Run-time errors

يمكنك قراءة المزيد عنها من هنا: أنواع الأخطاء



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


- فعند حدوث مثل الأخطاء:
إستعن بالله و إبتهل إليه بالدعاء في تفريج كُربتك.
خذ نفساً عميقا و إسترخي قدر المستطاع.
قُـم من مكانك و خذ جولة صغيرة في الأرجاء ثم عد.
حلل الكود سطراً تلو الآخر تحليلاً منطقياً.
و بعدها ستجد الخطأ بإذن الله.

و تذكر لكل مشكلة مهما صعبت!

عند حدوث مثل هذه الأخطاء لا تتعجل و لا تيأس، فقط قم بعمل المترجم (compiler) فسّر الأوامر منطقياً واحداً تلو الآخر و ستجد الخطأ. و لا تنسى أن تستعين بغيرك من ذوي الخبرات و التجارب في البرمجة و لاحظ كيف يقومون بحل المشاكل البرمجية بتحليلها منطقياً و التفكير السليم حتى و إن لم يكونوا هم من قاموا بكتابة الكود البرمجي، هؤلاء تعلموا و إجتهدوا على مر الزمان حتى صاروا لا يغالبهم كود أبداً .. فتعلّم منهم.

هذه بعض الطرق التي أستخدمها ، لا تبخلوا علينا بنصائحكم و تجاربكم لعلها تُـفيد غيركم