مقدمة: السلام عليكم... أعرض في هذه الدروس كل بعد فترة ممارسة من الممارسات البرمجية التي نفعلها دائما و يجعل لنا الخبراء طرقا افضل لذلك.. ويقدم لنا خبراء البرمجة السريعة (Agile) (وهي أحد العمليات processes المتبعة في هندسة البرمجيات لتحسين كتابة البرامج) مجموعة من هذه الممارسات التي تواجه كل مبرمج في حياته البرمجية اليومية... لنتكلم عن الممارسات المفضلة للبرمجة الدرس الأول: الكود المتكرر كيف يتكون الكود المتكرر؟ يتكون الكود المتكرر في حالة أنه يوجد "طريقتان" أو "دالتان" "Methods or Functions" يتكرر فيهما نفس الكود ولو اختلف الغرض منه.... مثال: في المثال التالي نريد أن عمل عمليتين على المصفوفة وهي إضافة عنصر غير متكرر و حذف عنصر... لاحظ الكود في الحالتين... هل ترى تشابه؟؟؟
/** صف عمليات على المصفوفة **/public class ArrayOperations(){ /** المصفوفة **/ private ArrayList MyArray = new ArrayList(); /** اضافة عنصر غير متكرر **/ public boolean AddElement( Element Object) { /** البحث داخل المصفوفة **/ foreach ArrayElement in MyArray { /** إذا كان الذي نريد حذفه هو نفس الذي وصلنا إليه في عملية البحث**/ if ( ArrayElement == Element) { /** العنصرغير موجود **/ return false; } } /** اضافة عنصر غير متكرر **/ MyArray.Add( Element ); } /** حذف عنصر **/ public boolean DeleteElement( Element Object) { /** البحث داخل المصفوفة **/ foreach ArrayElement in MyArray { /** إذا كان الذي نريد حذفه هو نفس الذي وصلنا إليه في عملية البحث**/ if ( ArrayElement == Element) { /** احذف العنصر الذي وجدناه من المصفوفة عن طريق رقم العنصر **/ MyArray.Delete( ArrayElement.Index ); } } /** العنصرغير موجود **/ return false; }}
/** صف عمليات على المصفوفة **/public class ArrayOperations(){ /** المصفوفة **/ private ArrayList MyArray = new ArrayList(); /** البحث داخل المصفوفة **/ public Element SearchForElement( Element Object) { /** البحث داخل المصفوفة **/ foreach ArrayElement in MyArray { /** إذا كان الذي نريد حذفه هو نفس الذي وصلنا إليه في عملية البحث**/ if ( ArrayElement == Element) { return ArrayElement; } } /** العنصرغير موجود **/ return null; } /** اضافة عنصر غير متكرر **/ public boolean AddElement( Element Object) { If ( SearchForElement( Element ) != NULL ) { /** اضافة عنصر غير متكرر **/ MyArray.Add( Element ); return ture; } /** العنصرغير موجود **/ return false; } /** حذف عنصر **/ public boolean DeleteElement( Element Object) { If ( SearchForElement( Element ) != NULL ) { /** احذف العنصر الذي وجدناه من المصفوفة عن طريق رقم العنصر **/ MyArray.Delete( ArrayElement.Index ); } /** العنصرغير موجود **/ return false; }}