📚موسوعة الحاسوب و البرمجة📚
11.7K subscribers
875 photos
275 videos
3.95K files
913 links
تحتوي على اي كتب او برامج او فيديوهات او دورات تتعلق بالحاسوب او البرمجة وصيانة الهواتف
قنواتنا
للتواصل @mosoaa_bot
قناتنا في اليوتيوب
https://youtube.com/@musuaamsg
Download Telegram
انشروا رابط القناة لتعم الفائدة
#مقالات_برمجية📙📙
هذه المقالة توضح الفرق بين المبرمج و المطور
البرمجة : هي بناء تطبيقات أو برامج بغرض تنفيذ عمل أو مهمة معينة ( أدوات ) .
تطوير البرمجيات : هي بناء تطبيقات , سهلة الاستخدام , يمكن للمستخدم استخدامها , و قابلة للتعديل و التغيير ( برامج مصممة بشكل جيد )
المبرمج : Programmer
هو الشخص الذين يكتب أكواد نظيفة , و همه الأول أن تكون خالية من الأخطاء , لكن ليس بالضرورة أن يكون الكود مرتب , يهتم بتفاصيل الكود ,أكثر منه بالتفكير في إنهاءه, و دائما ما يكون هناك تنافس مع أصدقاءه في معرفة الحل الأمثل للمشكلة , لديه إطلاع واسع جداً على الخوارزميات ,
و الاهتمام بالرياضيات هو أمر أساسي لديه , مهارات التواصل مع فريق العمل أو التواصل مع المستخدم هو أمر اختياري بالنسبة له و ليس ضرورة !
يقضي معظم أوقات فراغه , في إنشاء نماذج من التطبيقات الغير منتهية , و كتابة الخوارزميات و تجربتها , يحلم في أن يتعلم كافة لغات البرمجة , و أن يكتب أقصر كود لحل أكبر مشكلة
خصائص تطبيقاته :
– كود احترافي يعمل بشكل ممتاز و غالبا بدون أخطاء , ( لكن من الصعب فهمه أو صيانته إلا من قبله و لمدة محدودة .)
– أغلب أكواده من نوع “المعكرونة”spaghetti code
– أغلب العناصر بأسمائها الافتراضية Button1 Button2 , Form1 …
– لا يوجد ترتيب لعناصر النافذة , ولا ترتيب لمفاتيح الانتقال فيما بينها (Tab Index)
– لا يوجد معالجة للأخطاء التي قد تحصل أثناء تنفيذ الكود – Exception handling .
– لا يوجد أي تخطيط لإمكانية إعادة استعمال هذا الكود من قبل مبرمج أو مطور آخر أو حتى من قبله هو .
– الكود بدون شرح أو تعليقات

المطور : Developer
هو الشخص الذي يكتب الكود المنسق , الذي يمكن قراءته كقصيدة أو قصة قصيرة , يعتمد اعتماد كبير على المكتبات الخارجية , الرياضيات هي آخر اهتماماته , من أولوياته التواصل مع فريق العمل و إيجاد حلول حول المشكلات , لديه تخصص عام و براعة تمكنه من توظيف أي مهارة أخرى ضمن تطبيقاته , يعتمد في بناء تطبيقه على التطبيقات العديدة التي قام بتجربتها و استخدامها خلال دراسته أو عمله , مما يجعل تطبيقه هو خلاصة لأفكاره , يقضي معظم أوقات فراغه في أمور لا علاقة لها بالبرمجة إطلاقاً أو ربما لا علاقة لها بالحاسب , يحلم دائما في أن يصنع فيس بوك جديد أو غوغل جديد .
خصائص تطبيقاته
– شرح الكود أطول أو يساوي طول الكود نفسه .
– الكود مرتب و منسق .
– لن تجد عنصر واحد بتسميته الافتراضية .
– كافة الأخطاء معالجة و قد يتم تسجيلها في سجل للأخطاء (log file) .
– يكتب الكود و كأن المستخدم سوف يقرأه .
– اهتمامه بواجهات البرنامج أكثر من اهتمامه بطريقة عمل البرنامج .

الخلاصة :
الشيء المهم الذي يجب الانتباه إليه , هو أنه ليس أي من الإثنين أفضل من الآخر , أو أقل شأناً من الآخر , بل هي مجرد صفات خاصة و عامة مختلفة في كل منهما عن الآخر , لا و بل بإمكانك أن تكون مبرمج محترف و مطور رائع بنفس الوقت و ذلك بدمج الخصائص الجيدة من كلا الطرفين ( طبعا سيكون أمامك أشياء كثيرة للتركيز عليها ) , لكنه يبقى أمرأ ممكناً , و ليس مستحيلاً .
و إن اختيارك طريق المبرمج أو المطور , هو الذي سيحدد مصير تطبيقك هل سيستخدم من قبل الزبائن أم لا ؟
#مقالات_برمجية📙📙
كيف تحقق أفضل المعايير في البرمجة و تطوير البرمجيات :
أولاً :

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

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

يجب تبسيط الخوارزميات المعقدة , لا تضمنها ضمن مشروعك مباشرة , بل أنشئ مشروع جديد , و ابني الخوارزمية على شكل Class و ادرسها و عندما تنجح و تفهم عملها انقل الـ Class إلى مشروعك . على مبدأ Keep it Simpl
رابعاً :

راجع الكود بشكل مستمر , و احذف التوابع و المتحولات الغير ضرورية , و حاول ان تكتب شرح مبسط .
خامسا :

جرب البرنامج أكثر من مرة , جربه أنت أو دع شخصاً آخر يجربه لك , و يفضل شخص آخر لأنه لن يتبع نفس القواعد التي تتبعها أنت !

سادساً :
لا تكثر من Try Catch في المشروع , إذا كان لدي متحول يقبل قيمة عددية فقط , فقم بتقييد المستخدم بادخال قيمة عددية فقط !
سابعا :
لست مجبرا على الاعتماد على أي ميزة حديثة , تقدمها لك لغة البرمجة , الميزات الحديثة قد تحتوي على أخطاء .