ما الذي تعلمته خلال شهر من متابعتي لدروس موقع laracasts

php laravel laracasts

أثر التدريب الذي التحقت به بداية فترة عملي بشركة، والذي كان تخصصي backend development بناءا على رغبتي ونظرا لخبرتي بها لفترة سابقاً، كان مطلوباً مني دراسة بعض المواضيع الخاصة بهذا المجال وقام قائد الفريق المهندس أحمد بإختيار منصة موقع laracasts لأتعلم منها الدروس التي قام هو بإختيارها وتحديد ما هي المواضيع التي سأقوم بتغطيتها خلال هذا الفترة. كانت هذه المواضيع عديدة منها بداية تعلم php وإطار العمل Laravel وما بٍهما من مميزات جديدة وأيضا أساسيات أنماط التصميم المتبعة بالبرمجة وأيضا البرمجة الموجهة للإختبار TDD.

فهذا الموقع هو مختص بلغة php وإطار العمل Laravel بالتحديد، الذي تم تطويره وإدارته من قبل Jeffrey way الذي له خبرة طويلة ببرمجة تطبيقات الويب بلغة php وLaravel وقام بكتابة عدة كتب وإنشاء عدة مكتبات معروفة ومستخدمة بكثرة من قبل المطورين. فهو يقدم من خلاله شروحات موجهة لإطار العمل هذا وكل اللغات والتقنيات الأخرى التي قد تحتاج إلى استخدامها معه، مثل html, css, vuejs, webpack ويقوم بالتركيز على فئة المطورين المهتمين laravel ليشرح لهم كل مايحتاجونه للتعامل معه، ويحتوي أيضاً على حلقات نقاش وأسئلة بكل مايختص بهم.

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

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

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

if you want to be better developer there is shortcuts, Write and read a lot of code."
Jeffrey way

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

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

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