ما معنى IDE ؟ وما هي مميزاته ؟

أهم ما تحتاجه لمعرفة مميزات ال IDEs وكيف ستفيدك في عملك

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

من جوجل

نبدأ بمعنى الكلمة IDE = Integrated Development Environment وهو برنامج لكتابة ال Code ويحتوي على بيئة عمل فيها الأدوات البرمجية التي تحتاجها كلها وكل IDE مختلف عن الآخر وهذا ما يميزه عن أي Text Editor عادي يحتاج لإضافة Extensions إضافية للحصول على هذه المميزات والمميزات تختلف من IDE للآخر ودعونا نعرف مميزات ال IDEs

Compiler

يمكن أن نقول عليه المحول البرمجي أو مترجم ال Codes وهو المسؤول عن تحويل ال Source Code وهو ال Code الذي تقوم بكتابته إلى Code يفهمه ال Computer مباشرة لأن ال Code الذي تقوم بكتابته بلغة من لغات ال High Level Programming Languages مثلا يكون Code قريب للإنسان ومفهوم وغير مكتوب بلغة ال Computer ولذلك لابد من وجود ال Compiler لعمل هذا التحويل من لغة البرمجة التي تكتب بها ل Machine Code

Interpreter

هو المترجم الذي يقوم بتشغيل الكود البرمجي مباشرة بدون تحويله للغة الكمبيوتر ويمكن أن يكون ال IDE يحتوي على Compiler أو Interpreter أو الإثنين معا.

Version Control

هو نظام التحكم في الإصدارات الخاصة بالتطبيق البرمجي الذي تقوم بعمله وهذه ميزة لا غنى عنها حيث يمكنك الرجوع لأي إصدار في التطبيق والرجوع لأي ملف قديم وكل شيء يكون محمي وهناك نسخة منه حتى لا تحدث أي مشاكل أثناء البرمجة ومن أهم المواقع التي تقدم هذه الخدمة موقع مثل Github, Gitlab

Intelligent Code Completion

وهو النظام الذكي لإكمال ال Code حيث أنه هناك الكثير من البرامج التي تساعدك في إكمال ال Code وليس هذا فقط بل تكتب لك جميع دوال اللغة Functions بما فيها المدخلات الموجودة داخل الدالة ويكون فيها مرجع كامل للغة وليس فقط إكمال لل Code بل يمكن أن تكتب Function معينة وتجد تعريف كامل بها وماذا تقبل وكل ما يخصها بالتفصيل.

Error Check & Debugging

وهو ميزة التنبيه على وجود خطأ معين أثناء الكتابة وليس هذا فقط بل يكتب لك Report كامل عن المشكلة وفي أي سطر ويختلف هذا التقرير من محرر للآخر حسب مميزاته لكن الميزة موجودة وأيضا ميزة ال Debugging وهي التي تجعلك تضع Breaks داخل ال Code وتجعل البرنامج يمشي عليها خطوة خطوة وترى النتائج لتعرف أين المشكلة وما هي ال Function أو ال Code المسبب لهذه المشكلة حتى تتعقبه وتصل للحل.

FTP Client

وهو البرنامج المسؤول عن رفع الملفات لموقعك وكلمة FTP إختصار ل File Transfer Protocol وهو ال Protocol المسؤول عن رفع الملفات تنزيلها والتعديل عليها في موقعك أو ال Server الخاص به وهو ليس الوسيلة الوحيدة يمكنك رفع الملفات مباشرة من خلال لوحة تحكم الموقع cPanel مثلا لكن ميزة وجود هذه الطريقة في ال IDE هي أنه عند التعديل على أي ملف وعمل حفظ يقوم برفعه مباشرة للموقع بدلا من إستعمال برنامج خارجي بعد الإنتهاء وهي ميزة مهمة جدا جدا لمن يعمل على ملفات موقعه Online مباشرة ولا يعمل على ال Localhost

Class and Object

الكثير من المحررات تمكنك من تصفح ال Classes وال Objects الخاصة بك وليس هذا فقط بل يمكنها عمل رسم بياني للبنية الخاصة بالتطبيق الذي تقوم بعمله وتساعدك كثيرا لتنفيذ فكرتك. وهذا مهم جدا لمن يعمل بأي لغة تستعمل ال Object Oriented Programming حتى لا يحدث مشاكل في تنظيم ال Objects وال Classes وهذه ميزة مهمة جدا وفعالة جدا.

Library Dependencies

يحتوى المحرر على كل ما تريده من مكتبات مرتبطة باللغة فمثلا لو كنت تعمل على لغة PHP وتستعمل إطار عمل مثل Laravel أو YII سوف تجد المحرر يحتوى على كل ما يلزمك لإنشاء مشروع بأطر العمل هذه. وفي مجال التصميم تخيل معي أنك تريد عمل مشروع جديد وتستعمل اطار عمل مثل Bootstrap فمجرد إختيارك لمشروع جديد وتختار اطار العمل يقوم بإنشاء المشروع ويستدعي ملفات اطار العمل كلها في مكانها السليم مثلا bootstrap.css و bootstrap.js وال Directory الخاص بال Fonts وهكذا ويسهل عليك الامور كلها.

Database Management

وهي ميزة جميلة ومهمة جدا في التعامل مع قاعدة البيانات مباشرة من تعديل وإنشاء جداول والتعامل مع البيانات جميعها من حذف وتعديل وكتابة إستعلامات وكل شيء

Multiple Language Support

وهي الميزة المهمة التي تجعلك تعمل على IDE واحد ولا تحتاج لتنزيل أكثر من برنامج لكتابة ال Code وهي توفير الدعم لأكثر من لغة فتخيل معي لو كنت تعمل ك Full Stack Developer وتحتاج لأن تعمل على لغة مثل PHP أو Python وتحتاج في نفس الوقت لعمل الجزء الخاص بال Front-End بواسطة Html, Css, JavaScript وهي ميزة جميلة لدعم اللغات كلها في نفس البرنامج

Refactoring

وهي ميزة إعادة هيكلة ال Code البرمجي وليس السلوك الخاص بالبرنامج بمعنى تغيير المسميات لتكون أكثر منطقية وسهولة وأكثر تنظيما وهي تستخدم لتقليل التعقيد ولا تقوم بتغيير مميزات التطبيق البرمجي فمثلا لو كان عندك Function تستعمل في كل مكان إسمها make() في حالة تم التعامل معها من أي مبرمج في الفريق لن يفهم معناها ويمكن أن تكون أكثر تعقيدا لو كان اسمها mk() ولذلك تقوم بعمل Refactor كامل لتغيير المسميات الخاصة بها لإسم مناسب للفهم ولتقليل التعقيد makeLetterCapital() مثلا فهنا قمنا بتغيير الإسم في كل مكان لكن لم نقوم بتغيير سمات وسلوك البرنامج نفسه ولن يتغير شيء في التنفيذ. وطبعا ال Refactor ليس فقط تغيير التسمية بل البنية الخاصة بال Code والتعاليم البرمجية فمثلا يمكن أن يكون لديك Function تقوم بعمل مهمة بشكل طويل ومعقد وقابل لظهور مشاكل يمكنك تغييرها لتقوم بعمل نفس المهمة ولكن بسطور اقل وبطريقة سهل عمل صيانة لها وسهل الكشف عن الأخطاء فيها لكن لم نقوم بتغيير سلوك وسمات التطبيق البرمجي. وفي بعض الحالات يمكن أن تقوم بعمل تغييرات طفيفة لحل مشكلة ما أثناء ال Refactor

Linting

وهي ميزة فحص اذا كان ال Code متوافق مع معايير اللغة أم لا وهي طريقة تجعلك تكتب ال Code بطريقة تتماشى مع معايير اللغة عن طريق Pattern معين فعلى سبيل المثال دعنا نأخذ مثال على لغة JavaScript فيمكنك أن تكتب Function معينة وتعمل بشكل سليم ولا يوجد بها أي مشكلة لكن يظهر لك مشكلة أو تنبيه ليخبرك أن ال Statement داخل ال Function لا تحتوي على Semi Colon في نهاية السطر رغم ان ال Code يعمل بنجاح لكن هنا يجعلك تمشي على Pattern معين ليكون ال Code متوافق مع المعايير ويمكنك أن ترى مثال هنا لتفهم الفكرة شاهد الصورة قبل وبعد لترى رغم ان ال Code في الحالتين سوف يخرج نفس النتيجة ولكن في الحالة الأولى أخرج لك أخطاء تنبيهات ال Linter وفي المثال بعده قمنا بتفادي التنبيهات والأخطاء
بعض الميزات الأخرى التي يمكنك القراءة عنها
  • Build Automation
  • Code Sniffing
  • Code Highlight
أشهر ال IDEs التي يمكنك التعامل معها
  • PHP Storm
  • Netbeans
  • Eclipse
  • Visual Studio
  • Aptana Studio 3
  • Komodo IDE
  • Coda

الكلمات الدلالية

من جوجل

0 تعليقات


    اترك تعليقاً