تطوير البرامج
عند هذه النقطة يجب أن تكون قادراً على النظر إلى عمليات كاملة في Java ومعرفة ما تفعله. لكن قد لا تكون كيفية كتابة عمليات كهذه واضحة بعد. سأطرح إحدى التقنيات التي أدعوها التطوير التصاعدي
(incremental development).
كمثال، تخيل أنك تريد حساب المسافة بين نقطتين، إحداثياتهما (x1, y1) و(x2, y2). باستخدام التعريف المعتاد،
الخطوة الأولى هو الأخذ بعين الاعتبار الشكل الذي ستظهر به عملية distance في Java. بكلمات أخرى، ما هو الدخل (المعاملات) وما هو الخرج (القيمة المعادة).
في هذه الحالة، النقطتين هما المعاملات، ومن الطبيعي أن نعبر عنهما باستخدام أربع أعداد عشرية، مع أننا سنرى فيما بعد أن Java تملك كائناً يدعى Point يمكننا استعماله. القيمة المعادة هي المسافة، والتي ستكون من النوع double.
يمكننا الآن كتابة مخططاً تمهيدياً للعملية:
التعليمة return 0.0; هي إشارة علام ضرورية حتى يتم تجميع البرنامج. من الواضح أن البرنامج لا يجري أي شيء مفيد في هذه المرحلة، لكنه يستحق تجربة تجميعه لنتمكن من العثور على أية أخطاء نحوية قبل أن نضيف المزيد من الشفرة.كود:public static double distance (double x1, double y1, double x2, double y2) { return 0.0; }
حتى نختبر العملية الجديدة، علينا استدعاؤها مع قيم اختبار. في مكان ما من main يمكن أن أضيف:
double dist = distance (1.0, 2.0, 4.0, 6.0);
لقد اخترت هذه القيم بحيث تكون المسافة الأفقية 3 والمسافة الشاقولية 4؛ وبهذا ستكون المسافة بين النقطتين 5 (الوتر في مثلث قائم الزاوية أضلاعه 3-4-5). عندما تختبر عملية ما، من المفيد أن تعلم الإجابة الصحيحة.
بعد أن تأكدنا من صحة بنية تعريف العملية، يمكننا البدء بإضافة أسطر من الشفرة بالتدريج. بعد كل تغيير تصاعدي، نجمع البرنامج ونشغله. بهذه الطريقة، سنعرف بالضبط المكان الذي يجب أن يحتوي على الخطأ في أية مرحلة: في السطر الأخير الذي أضفناه.
الخطوة التالية في حسبتنا هي إيجاد الفرق x2 – x1 و y2 – y1. سأخزن هذه القيم في متغيرات مؤقتة اسمها dx وdy.
أضفت تعليمات طباعة تمكنني من معرفة القيم الوسيطة الناتجة قبل المتابعة. كما ذكرت من قبل، أنا أعلم مسبقاً أن القيم يجب أن تكون 3.0 و4.0.كود:public static double distance (double x1, double y1, double x2, double y2) { double dx = x2 - x1; double dy = y2 - y1; System.out.println ("dx is " + dx); System.out.println ("dy is " + dy); return 0.0; }
عندما أنتهي من كتابة العملية سأزيل تعليمات الطباعة. شفرة كهذه تدعى سقالات (scaffolding)، لأنها تساعد في بناء البرنامج، لكنها ليست جزءاً من البرنامج النهائي. أحياناً يكون إبقاء السقالات فكرة جيدة، لكن حوِّلها لتعليقات، لكي تجدها في حال احتجت إليها لاحقاً.
الخطوة التالية في تطوير عمليتنا هو تربيع dx وdy. يمكننا استخدام عملية Math.pow، لكن من الأبسط والأسرع أن نضربهما بنفسيهما.
مرة أخرى، سأترجم البرنامج وأشغله للتحقق من القيمة الوسيطة (التي يجب أن تكون 25.0).كود:public static double distance (double x1, double y1, double x2, double y2) { double dx = x2 - x1; double dy = y2 - y1; double dsquared = dx*dx + dy*dy; System.out.println ("dsquared is " + dsquared); return 0.0; }
أخيراً، يمكننا استخدام عملية Math.sqrt لحساب وإرجاع النتيجة.
بعد ذلك في main، يجب أن نطبع القيمة الناتجة وأن نتحقق من صحتها.كود:public static double distance (double x1, double y1, double x2, double y2) { double dx = x2 - x1; double dy = y2 - y1; double dsquared = dx*dx + dy*dy; double result = Math.sqrt (dsquared); return result; }
عند اكتسابك المزيد من الخبرة البرمجية، قد تجد نفسك تكتب وتنقح أكثر من سطر في كل مرة. بغض النظر عن ذلك، فإن هذه عملية التطوير التصاعدي هذه توفر عليك الكثير من الوقت الضائع في تصحيح الأخطاء.
المقومات الأساسية لهذه العملية هي:
· ابدأ مع برنامج يعمل وقم بتغييرات صغيرة وتصاعدية. إذا حدث أي خطأ في أي مرحلة، فستعرف مكانه بالضبط.
· استعمل متغيرات مؤقتة لتخزين القيم الوسيطة حتى تتمكن من طباعتها والتحقق من صحتها.
· بعد أن يجهز البرنامج، قد ترغب بإزالة بعض السقالات أو دمج عدة تعليمات ضمن عبارات مركّبة، لكن بشرط ألا تجعل قراءة البرنامج أصعب.المصدر: معهد توب ماكس تكنولوجي - من قسم: لغات برمجة المواقع
lk ;jhf ;dt jt;v ;uhgl ;lfd,jv gyi [hth hgtwg hgsh]s hgulgdhj hglelvm : j',dv hgfvhl[ hglelvm hgfvhl[ hgsh]s hgulgdhj hgtag jt;v j',dv [hth ;lfd,jv ;jhf ;dt
emadalkamil3@gmail.comمن مواضيع عماد الكامل :
- مسجات حزن وزعل وعتاب روووووعه
- موضوع حصري وخاص معهد توب ماكس تكنولجي *** الجنبية (الخنجر)
- القمة العالمية للحكومات وتعزيز الاقتصاد الرقمي في العالم العربي
- حصري اسهم جديده 2014
- اجمل حكمه لـ أبو الطيب لمتنبي
- جمعنا لكم 50 مخطط لـ مخططات شقق مكون من اربع غرف نوم استغلال للمساحات و اناقة للديكور 3d
- فيلا مربعه انيقه تحتوي على ثلاث غرف نوم جديد 2018
- ديكور تحفه فنيه ..
- الحديث السابع والثلاثون من الاربعين النوويه شرحه وفوائده
- فكر حلوه طريقة عمل موس الشوكولاته بالصور
المفضلات