كيف أفكر كمبرمج؟

كيف أفكر كمبرمج؟

البرمجة …. هل هي صعبة و مخيفة حقا؟ 

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

يواجه كل مبتدئ يلج عالم البرمجة نفس المشاكل … صعوبة أثناء حل سؤال الترميز ، صعوبة في فهم الشفرة … صعوبة في التعامل مع مشكلة و حلها , إلى أن يصل لمرحلة التشكيك في قدراته , خاصة عندما يتمكن  الآخرون من  حل أسئلة  و تنفيذ  برامج المعقدة عجز هو عنها .

 

في معظم الحالات يدب الإحباط في نفوس  المبتدئين  ، فإما أنهم يتخلون عن البرمجة أو يحاولون إيجاد جواب لسؤال واحد ” كيف أفكر كمبرمج و  كيف يمكن أن أحل أسئلة الترميز بسرعة؟ “.

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

ما هو هذا إذن السر المشترك الذي يتبعه كل مبرمج لحل أسئلة الترميز , ليصبح محترفا في حل المشكلات؟ ليصبح  باختصار مبرمجا ؟  إليك الجواب …

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

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

ثلاثة أمور يجب وضعها في الاعتبار أثناء بناء برنامج

انظر إلى الصورة أدناه …

 

ماذا ترى؟؟   لغز … كيف ستحل هذا اللغز …؟ حسنا ، ينقسم هذا اللغز إلى قطع صغيرة و لمعرفة الحل الكامل يتبع معظم الناس ثلاث خطوات …

  1. أجرب الحل.
  2. إذا لم يفلح ذلك ، سأجرّب حلا اخر .
  3. إذا لم يفلح ذلك ، أكرر الخطوة 2 حتى أحصل على الحل.

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

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

هل تفهم المعنى الحقيقي للاقتباس  ؟ ماذا يعني بالضبط أن تفكر كمبرمج ؟

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

 

سنقوم الآن بمناقشة ثلاث خطوات رئيسية يجب على كل مبرمج اتباعها في بناء برنامج .

” اجعلها تعمل ، اجعلها صحيحة ، اجعلها سريعة. ”   Kent Beck

1. اجعلها تعمل

عندما تواجه مشكلة ، فإن الخطوة الأولى هي جعلها تعمل. الهدف هنا هو فقط فهم المشكلة وإيجاد الحلول. لا شيء آخر.

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

تذكر أن الحل الجيد يجب أن يتطور وأن يصبح أفضل بمرور الوقت … ابدأ فقط “بأي حل” .
يمكنك جعل الشفرة عمل ما يفترض أن تفعله بأي طريقة قبيحة وفوضوية تريدها ، طالما أنها تعمل.

نحن نتحدث عن البرامج و لا توجد تكلفة للمواد ، لذلك بدلا من محاولة إيجاد حل مثالي في محاولتك الأولى ، لا تعثر إلا على الحل الذي يجعل الميزة تعمل في برنامجك.

لا تضيع وقتك في القلق بشأن ما إذا كان أسلوبك مثاليا ، أو رمزك أنيقا ، أو أنماط تصميمك مثالية.

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

2. اجعلها صحيحة

في الخطوة الأولى ، وجدت حل عملي لمشكلتك وطريقة غير مكلفة للتأكد من أنها لا تزال تعمل أثناء تعديلها.

وظيفتك الآن هي اتباع أساسيات إعادة البناء لتحسين تصميم الشفرة الخاصة بك .

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

افعل ذلك بطريقة تسهل عليك و على المطورين الأخرين إجراء التغييرات و فهمها .

3. اجعلها سريعة

تحتاج الآن إلى قياس أداء الشفرة الخاصة بك وهي الخطوة الثالثة … تحسين الشفرة .

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

تقوم الكثير من الشركات بإطلاق منتجها في  مرحلة “اجعلها صحيحة”.

إذا كان لديك ما يكفي من الموارد والوقت ،  فمن الأفضل التفكير في أداء شفرتك.

لا يقتصر تحسين الرمز على “كيف يمكنني تشغيل هذا الرمز بشكل أسرع”, لكن أكثر من ذلك .

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

دوارات لتعلم البرمجة

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

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

قد يعجبك أيضا ....

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *