إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    الخوارزميات تقليص حجم الكود

    الفائدة من تقليص حجم الكود

    لما يجب دائماً أن تحاول جعل حجم الكود أصغر؟

    كلما كان حجم الكود أصغر كلما أصبح برنامجك أسهل في القراءة, الصيانة, التعديل و المراجعة.
    إذاً سواء كنت تنشئ برنامج عادي أو موقع أو لعبة إلخ.. دائماً حاول جعل الكود أصغر.


    كيف يمكنك جعل حجم الكود أصغر؟

    يمكنك ذلك بثلاث طرق:

    1. باستخدام الحلقات و الدول لعدم تكرار الكود.
    2. بعدم كتابة أي كود يمكن الإستغناء عنه.
    3. أسلوب المبرمج و براعته في التحليل.

    تقليص حجم الكود باستخدام الحلقات

    إذا كنت تريد تنفيذ نفس الشيء عدة مرات, قم بكتابته مرة واحدة داخل حلقة بدل أن تكتبه نفسه عدة مرات.


    أسلوب كتابة الكود التالي يعتبر سيء جداً.

    مثال

    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm");
    System.out.print("Hello Algorithm"); 
    		

    الآن سنكتب نفس الكود السابق مرة واحدة بداخل حلقة, و نجعله يتكرر على قدر ما نحتاج.
    أسلوب كتابة الكود التالي يعتبر جيد جداً.

    مثال

    for( int i=0; i<10; i++ )
    {
        System.out.print("Hello Algorithm");
    } 
    		

    الآن سنكتبه كله على سطر واحد بداخل حلقة أيضاً, و نجعله يتكرر على قدر ما نحتاج.
    أسلوب كتابة الكود التالي يعتبر سيء جداً بالنسبة للمبرمج لأن تصحيحه و التعديل عليه مستقبلاً سيكون متعب جداً.

    مثال

    for( int i=0; i<10; i++ ) { System.out.print("Hello Algorithm"); } 
    		

    إنتبه

    كتابة الكود كله على سطر واحد لا تؤثر إطلاقاً على الذاكرة أو المعالج, و لكن المشكلة في هذا الأسلوب أنك ستجد صعوبة كبيرة في مراجعة الكود الذي كتبته أنت بنفسك إذا اعتمدت هذا الأسلوب في البرامج الكبيرة, فما بالك إذا كنت تعمل في شركة ضمن فريق و تحاول جعل زميلك يفهم الكود الذي قمت أنت بكتابته أو أنك بعد فترة من الزمن أردت تعديله أو تطويره.

    تقليص حجم الكود بعدم كتابة أي كود يمكن الإستغناء عنه

    في أغلب لغات البرمجة, يمكنك أن لا تضع أقواس البداية و النهاية { } مع الحلقات و الشروط إذا كنت قد وضعت بداخلهم أمر واحد فقط.
    السبب في ذلك أنك بالمنطق تستخدم الحلقة لتكرار عملية واحدة على الأقل, و تضع شرط لكي تنفذ عملية واحدة على الأقل.
    بمعنى آخر, عندما تستخدم حلقة أو شرط يتوقع منك البرنامج أن تضع فيهم على الأقل أمر واحد, لذلك إذا كنت تريد وضع أمر واحد بداخل الحلقة أو الشرط لا تضع أقواس البداية و النهاية لأنك لا تحتاجهم.



    كتابة كود الحلقة بأفضل طريقة ممكنة

    الآن إذا عدنا للمثال السابق, يمكننا كتابة الحلقة بدون أقواس البداية و النهاية لأنها تحتوي على أمر واحد فقط.
    أسلوب كتابة الكود التالي يعتبر ممتاز و جميع المبرمجين يعتمدونه لسهولة مراجعته.

    مثال

    for( int i=0; i<10; i++ )
        System.out.print("Hello Algorithm"); 
    		


    كتابة كود الشروط بأفضل طريقة ممكنة

    الآن سنرى كيف نستطيع التخلي عن أقواس البداية و النهاية في الشروط.
    لنفترض أنه عندنا متغير عادي نريد إختبار قيمته.

    مثال

    int x = 5;
    
    if( x > 0 )
    {
        System.out.print(x+ " is positive.");
    }
    else if( x < 0 )
    {
        System.out.print(x+ " is negative.");
    }
    else
    {
        System.out.print(x+ " is zero.");
    }
    		

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

    مثال

    int x = 5;
    
    if( x > 0 )
        System.out.print(x+ " is positive.");
    
    else if( x < 0 )
        System.out.print(x+ " is negative.");
    
    else
        System.out.print(x+ " is zero."); 
    		

    أسلوب الكتابة هكذا يعتبر ممتاز و جميع المبرمجين يعتمدونه لسهولة مراجعته.

    تقليص حجم الكود حسب أسلوب المبرمج و براعته في التحليل

    أنت الآن تعلمت كيف تكتب الكود بشكل منطقي و مرتب كالمبرمجين الحقيقين, و تعلمت كيف تستطيع تقليص حجم الكود, و إذا كنت قد درست الخوارزميات من أول درس فأنت أيضاً تعلمت كيف تستطيع كتابة الكود بعدة طرق و أساليب و أنه يمكنك التلاعب بالكود كما تريد و الحصول على نفس النتيجة.

    بما أنك أنهيت الخوارزميات, أنت الآن جاهز بإذن الله لتبدأ بدراسة لغة برمجة معينة, و سترى بنفسك كيف أنك ستطبق جميع المبادئ التي درستها في الخوارزميات و ستتعلم بالطبع أساليب و طرق جديدة و ستتطور قدراتك الذهنية كثيراً في التعامل مع الكود كلما إرتفع مستواك العلمي و العملي في البرمجة.

    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب