التكرار للمبرمج: لماذا من المهم حل مشاكل مماثلة



من مترجم: اليوم ننشر لك مقالة للمطور المبتدئ آمي حداد. وهذا ما يفسر سبب عودة المبرمجين إلى المشكلات التي تم حلها بالفعل.

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

توصي Skillbox بما يلي: دورة عملية لمدة عامين ، "أنا مطور ويب للمحترفين" .

نذكرك: لجميع قراء "Habr" - خصم بقيمة 10،000 روبل عند التسجيل في أي دورة تدريبية في Skillbox باستخدام الرمز الترويجي "Habr".

أعرف ما لا أعرفه


إذا تمكنت من حل المشكلة لأول مرة ، فإن هذا لا يعني أنه يمكنني التعامل معها مرة أخرى.

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

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

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

المشاكل القديمة ، حلول جديدة


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

في مهمة أخرى مماثلة ، قام Loop بتخفيض الكود وجعله أكثر قابلية للقراءة. لكن كجزء من "التكرار" ، قمت بحل المشكلة بدونها - للتأكد من أنني قد أجد حلاً بديلاً.

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

تعلم كتابة الاختبارات


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

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

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

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

"فكر فيما ساعدك في وضع مماثل في الماضي. ابحث عن شيء مألوف في المشكلة الحالية ، حاول استخدام تجربتك ".

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

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

توصي Skillbox بما يلي:

Source: https://habr.com/ru/post/ar433902/


All Articles