مشكلات تواجهنا كمبرمجين في تطوير التطبيقات

في عالم البرمجة، هناك أوقات كثيرة لا تسير فيها الأمور كما هو متوقع فقط لأننا نواجه مشكلة ما، لا نعلم عن حلها شيئاً، في حين أن هناك العديد من الأدوات والأنظمة والمنهجيات التي تعمل على التغلب على هذه المشكلات لضمان عملية تطوير أكثر سلاسة في التعامل مع هذه المشكلات.

ومن المهم أن يتعلم المبرمج الحلول المناسبة للتغلب علي المشكلات بطريقة ذكية عندما تحدث أثناء تطوير البرامج بدلاً من المشكلات التي تؤثر على نتائج التطوير أو العملية، وسوف نتناول مجموعة من المشكلات التي تواجهنا كمبرمجين في تطوير التطبيقات، فهيا بنا.

الErrors ومشاكل الأكواد البرمجية

أكاد أجزم أن كافة المبرمجين حول العالم يقضون أضعاف وقت كتابة الكود في إصلاح المشاكل البرمجية و Errors الموجودة في السطور التي كودوها، وقد تكون هذه المشكلات هنا في Bugs معين أو Syntax أو خطأ منطقي، في الأصل متعة البرمجة في التعامل مع هذه الأخطاء، لذلك ياصديقي اعتد عليها وتعامل معها بإتباع قواعد التكويد للغة التي تعمل بها.

ماذا تريد أن تكتب

من المشكلات الشائعة والتي تسبب أخطاء برمجية هو عدم معرفة المبرمجين الهدف من كتابة هذا الكود، على سبيل المثال لعمل دالة تجمع رقمين 1+1 وتعيد لي الناتج =2 في الحقيقة ما قمت به الآن تفكير برمجي تماماً وبالتالي نعمل على تحويله إلى كود برمجي لأكتب الكود التالي:

int result(int x, int y)
{
return x+y;
}
حل المشكلات البرمجية

دعني أطرح عليك سؤلاً؛ هل تعرف موقع Stack overflow؟! نعم أعرفه.... فهو الحل الأول لكل مشكلة برمجية تواجهها فهو كنز حلول المشكلات البرمجية عبر تجارب عملية، فعندما تقابلك مشكلة في الكود تبحث عن سؤالك في محرك البحث وتجد الإجابة الأولى من موقع Stack Overflow، لكن ماذا إن لم يكن الحل موجودًا، ماذا أفعل حيال ذلك؟! ، هنا يا صديقي عليك أن تقوم بإمساك الورقة والقلم وتعمل علي تحليل الكود والبحث عن الخطأ، هذا الأمر يسمي برمجيًا debugging وهي عملية تصحيح الأخطاء.

بكل تأكيد واجهتكم مشكلات برمجية من قبل، فما هي وكيف كان حلها؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

لكن ماذا إن لم يكن الحل موجودًا، ماذا أفعل حيال ذلك؟! ، ه

لحل المشكلات البرمجية من الضروري تحسين مهارات التفكير المنطقي البرمجي من خلال :

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

تقسيم المشاكل :إذا كانت المشكلة معقدة فلا يعني ذلك أنها تحتاج إلى ألف سطر لتحل وإنما تحتاج إلى القدرة على التعامل معها بذكاء، لذلك من الأفضل أن تقوم بتقسيمها إلى عدة مشاكل أصغر وتنفذ منطق معين لتحل كل منها، سيؤدي ذلك إلى تحسين قدرتك على التفكير بمنطقية في البرمجة.

جميل جداً مهارات التفكير المنطقي في التتغلب علي المشكلات البرمجية بالأساس البرمجة تعتمد علي هذا فهي من أكثر المجالات التي تعلم منطقية التفكير، هل من الممكن مشاركتنا لتجربة قمتي بإستخدام التفكيري البرمجي فيها وكيف كان التعامل معها؟

Muntaha_Zaher أضف ردا

خلال تعلمي البرمجة واجهت مشاكل عدة مشاكل

في البداية كانت بغياب الممارسة والتطبيق بعد حضوري للدورات التعليمية و تداركت الأمر عندما لم أحرز أي تقدم فكان لا بد من الممارسة . بالإضافة إلى errors التي واجهتني ، أذكر مرة أن خطأ واحد أخذ من وقتي ثلاثة أيام لحله فكان لا بد من التأني و التحليل و التفكير بجميع الحالات.

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

فقد حدث معي قبل فترة أني ربطت شاشة لنظام ويب في db oracle باستخدام نظام ال package وتم استدعاء البروسيجر بشكل طبيعي

وقبل تنفيذ وعرض الشاشة اردت فحص البروسيجر

فقمت بتشغيله من خلال ال HORA فتم تنفيذ البروسيجر بشكل منطقة دون مشاكل

ومن ثم عرضت الشاشة ؛ وعلى الشاشة عرضت البيانات بشكل صحيح ومن ثم قمت بعمل تحديث للصفحة ففي كل مرة تحديث مرة تعرض البيانات ومرة لأ

فاردت اعادة فحص البروسيجر على ال HORA ولا يوجد مشاكل

فعدت للوراء واستخدمت SQL DEVLOPER للفحص فاخرج لي مشكلة في فورمات التاريخ مع انه ال HORA قامت بتنفيذ الامر دون مشاكل.

وتم حل المشكلة باستدعاء فورمات التاريخ في بداية للبروسيجر

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

اجد المتعة في التعامل مع هذه المشكلات بالرغم من انها تأخذ الكثير من الوقت اثناء البحث ولا سيما ان لم تكن انت من أنشأ هذا الكود البرمجي

بالنسبة لي طريق حل المشاكل البرمجية يتمثل في بضع خطوات:

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

رائع يا أمنية، مجموعة من الخطوات العملية التي تستحق بالفعل العمل بموجبها، وكما ذكرتي في كتابة الكود النظيف هل تستعملين معيارية معينة في هذا الصدد؟ ففي واحدة من الطرق التي أستعملها والتي تقضي بتجزئة المشروع بحيث الغي بذلك إعتمادية الكود البرمجي مما يسهل تتبعة.

هذه نقطة مهمة مصطفى. والنقطة الأخرى التي أحاول تطبيقها هي تجربة كل نقطة في الكود قبل بناء نقطة أخرى فوقها إن كانوا معتمدين وذلك حتى نعرف مكان الخطأ قبل بناء أكواد كثيرة عليه وضياعه.

وأيضًا الاهتمام بالتسمية حتى يسهل التتبع فيما بعد ووضع نقاط تتبعية في الكود مثل سطور برمجية تطبع ما بداخل أحد المتغيرات في الconsole لنرى ما يحدث بداخل البرنامج قبل تجربته.

لا يمكنني إثراء هذه المساهمة بإضافة لأنني لا أفهم شيئا في البرمجة.

وأنا أرغب في دراسة مجال تطوير مواقع ووردبريس وفكرت أن أسأل مختصا وبما أنك أشرت للمشاكل التي تواجه المبرمج فلا ضير من سؤالك كيف أبدأ في هذا المجال وهل هناك دورة تأسيسية في الموضوع؟

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

لذلك يمكن البدء من هذا الرابط:

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

سأطلع عليها وأبدأ فيها بإذن الله.