بغض النظر عن مكان وجودك في مهنتك في الترميز ، فمن المحتمل أن تصادف مجالًا جديدًا أو مجالًا للمشاكل غير مألوف تمامًا لك. نظرًا لأنه يمكن ملء قواعد الكود بالعديد من طبقات أنماط التصميم ، وإثارات الأخطاء ، والحلول المؤقتة ، يمكن أن يكون تعلم عملية جديدة عملية تستغرق وقتًا طويلاً ومحبطة.
في العام الماضي ، انتقلت إلى فريق جديد في جيثب. خلال انتقالي ، جمعت رؤى من الزملاء حول كيفية تعاملهم مع تعلم المساحات الفنية الجديدة. ظهرت مجموعة رائعة من الاستراتيجيات ، وأنا متحمس لمشاركتها!
فيما يلي أكثر الطرق فعالية التي جمعتها ، نظمتها النهج. سواء كنت مهندسًا محنكًا يقومون بتبديل فرق أو قادم جديد إلى هذا المجال ، يمكن أن تساعد هذه الاستراتيجيات في جعل قاعدة الشفرة التالية على متن الطائرة أسهل قليلاً.
عملية الاستكشاف العملي
واحدة من أفضل الطرق للبدء هي العمل مباشرة مع الكود نفسه:
- ابدأ بـ “القضايا الأولى الجيدة”: ابدأ رحلتك من خلال معالجة المهام الصغيرة المحددة جيدًا. غالبًا ما يتم اختيار هذه المشكلات بعناية من قبل الفريق الذي يمتلك قاعدة كود لمساعدة القادمين الجدد على فهم المكونات الرئيسية دون أن تغمرها. أنها توفر نقاط دخول طبيعية في النظام ، مع تقديم قيمة فورية للفريق.
- تعلم مع Github Copilot: افتح نافذة دردشة Copilot بجوار قاعدة الشفرة أثناء استكشافها. يمكنك طرح الدردشة على أسئلتك ، ثم استخدام
/explain
وظيفة للأشياء التي يصعب فهمها. تعرف على المزيد حول استخدام دردشة Copilot في بيئة التطوير الخاصة بك هنا. فيما يلي بعض الاستعلامات على سبيل المثال التي استخدمتها مع Github Copilot لتعزيز فهمي لقاعدة الكود:- ماذا ستعود هذه الوظيفة إذا أعطيتها x؟
- لخص ما يتم فعل هذه الطريقة للقيام به
- ما هي بعض الفجوات المحتملة في الاختبارات الحالية لهذه الطريقة؟
- تحليل القياس عن بعد والمقاييس: تنشئ التطبيقات الحديثة كميات هائلة من بيانات الأداء والاستخدام. ادرس هذه المقاييس لفهم كيفية تصرف النظام في الإنتاج ، وما هي الأنماط التي تظهر أثناء استخدام الذروة ، وأي مكونات تتطلب أكبر قدر من الاهتمام. يوفر هذا النهج القائم على البيانات سياقًا لا يقدر بثمن حول سلوك العالم الحقيقي.
- استكشاف من خلال الاختبار: إجراء تعديلات متعمدة على الكود ومراقبة آثارها. اكتب اختبارات جديدة للتحقق من فهمك ، وكسر الأشياء عن قصد (في التنمية) لمعرفة كيف يفشل النظام. هذا يساعد على بناء فهم بديهي لحدود التطبيق وأوضاع الفشل.
التعلم التعاوني
غالبًا ما تكون مشاركة المعرفة هي أسرع طريق للتفاهم:
- برنامج الزوج: لا تلاحظ فقط – تشارك بفعالية في جلسات الاقتران مع أعضاء الفريق ذوي الخبرة. اطرح أسئلة حول سير العمل الخاصة بهم ، لاحظ الملفات التي تصل إليها بشكل متكرر ، والتعرف على استراتيجيات تصحيح الأخطاء الخاصة بهم. حتى لو كنت تشاهد بشكل أساسي ، فسوف تمتص سياقًا قيماً حول كيفية توافق القطع المختلفة معًا.
- فهم “لماذا”: عند تعيين المهام ، احرص على عمق الدافع وراءها. يساعدك فهم سياق العمل والأساس المنطقي التقني في اتخاذ قرارات معمارية أفضل ومساعدات في حل المشكلات المستقبلية. لا تخف من طرح الأسئلة الأساسية على ما يبدو. وغالبا ما تؤدي إلى رؤى مهمة.
- مراقبة الاتصالات الفريق: ابق نشطًا في قنوات الدردشة الجماعية ومناقشات الاستجابة للحوادث. إيلاء اهتمام خاص لتنبيهات الإنتاج وكيف يستجيب الفريق لهم. يساعدك هذا التعرض على فهم أنماط الفشل الشائعة وبناء ذاكرة العضلات لمعالجة الحوادث.
الوثائق وإدارة المعرفة
تساعد كتابة المعلومات وتنظيمها في ترسيخ الفهم:
- إنشاء وثائق شخصية: الحفاظ على وثيقة حية لاكتشافاتك وأسئلتك ورؤيتك. توثيق مسارات التعليمات البرمجية المهمة ، والقرارات المعمارية ، وواجهات النظام أثناء مواجهتها. سيصبح هذا مرجعًا لا يقدر بثمن ويساعد في تحديد الفجوات في فهمك.
- بناء الخرائط التقنية: إنشاء مخططات من بنية النظام ، وتدفقات البيانات ، وعلاقات الكيانات. ابدأ بـ “الصناديق السوداء” عالية المستوى وملء التفاصيل تدريجياً مع نمو فهمك. غالبًا ما تكشف التمثيلات المرئية عن أنماط وعلاقات غير واضحة في الكود. إحدى الأدوات التي أستخدمها في هذا هي Figma. أبدأ بإضافة الكتل الأساسية التي أفهمها حول النظام وكيفية تفاعلها ، ثم تكبير باستمرار وتخرج على أجزاء مختلفة من النظام لإضافتها إلى الخريطة كما أتعلم.
- الحفاظ على ورقة الغش في الأمر: تتبع الأوامر المفيدة والبرامج النصية وسير العمل التي تكتشفها. قم بتضمين السياق حول متى ولماذا لاستخدامها. يصبح هذا ذا قيمة خاصة عند العمل مع أنظمة البناء المعقدة أو خطوط أنابيب النشر. هنا مثال على ورقة غش في الأمر غالبًا ما أشير إليها في بناء جملة تخفيض.
- جمع المعلومات عن المجال: مفتاح واحد لإدارة معرفتك بقاعدة الكود هو أن يكون لديك فهم عميق للمجال. يمكن الحصول على هذا من مالكي المنتجات أو رؤى العملاء أو من أفضل الممارسات في الصناعة إذا كان المجال قابل للتعميم بدرجة كافية. إن فهم المجال العميق وما يجد العملاء في هذا المجال هو المفتاح الأكثر أهمية لتعلم قاعدة كود جديدة.
تعلم بالتدريس
إحدى الطرق الرائعة للتحقق من فهمك للموضوع هي القدرة على شرحه بدقة للآخرين. إذا قمت بإنشاء وثائق شخصية ، على النحو الموصى به في القسم السابق ، يمكنك إضفاء الطابع الرسمي عليه في أدلة ووثائق رسمية للأعضاء الجدد المستقبليين في فريقك:
- اكتب أدلة داخلية: بمجرد أن تتعلم شيئًا جديدًا ، قم بتوثيقه للشخص التالي. هذا يجبرك على تنظيم ما تعلمته وغالبًا ما يكشف عن المجالات التي لا يكتمل فيها فهمك كما كنت تعتقد.
- المساهمة في الوثائق الرسمية: عندما تجد فجوات في الوثائق الحالية ، خذ زمام المبادرة لتحسينها. هذا لا يساعد أعضاء الفريق في المستقبل فحسب ، بل يؤثر أيضًا على صحة فهمك مع الخبراء الحاليين. تعرف على المزيد حول كتابة الوثائق لمستودع github الخاص بك من دليل تخفيض النكهة الخاص بنا.
- تفكر بانتظام في تعلمك من خلال الإجابة على هذه الأسئلة الرئيسية:
- هل يمكنك وصف النظام في عدد قليل من الجمل الموجزة؟
- كيف تتفاعل مع الأنظمة المجاورة؟
- ما الذي أدهشك أكثر أثناء عملية التعلم؟
- ما هي الجوانب التي لا تزال غير واضحة؟
بعد كل هذه التوصيات ، وجدت أن طريقتي المفضلة لتعلم قاعدة كود جديدة هي من خلال توثيقها ، وتحويل هذه الوثائق إلى شيء يمكن للآخرين استخدامه في المستقبل. إن كتابة الأشياء تجبرني على هيكلة أفكاري وتحديد الفجوات في فهمي.
فيما يلي قالب تخفيف قمت بتطويره لتعلم أكواد الكود الجديدة، والتي أستخدمها بالاقتران مع هذه الطرق لبناء معرفتي بشكل منهجي.
بغض النظر عن الطريقة التي تتعلم بها ، فإن التعرف على قاعدة كود جديدة يمكن أن يستغرق بعض الوقت. إذا وجدت أنك بحاجة إلى الحصول على مهارات github الخاصة بك لأي من هذه المجالات ، تحقق من ذلك هذا github للمبتدئين الفيديو.
تعلم سعيد!
كتبه
اترك تعليقاً