تحديد الوظائف الكبيرة وتقييمها باستخدام وضع الطلب في GitHub Copilot
يشبه استخدام وضع السؤال في GitHub Copilot وجود زميل على دراية متاح دائما للإجابة على أسئلتك. يمكن ل GitHub Copilot الإجابة على أسئلة حول قاعدة التعليمات البرمجية ومكتبات التعليمات البرمجية وأفضل الممارسات وبيئة التطوير الخاصة بك. لا يعدل وضع السؤال التعليمات البرمجية الخاصة بك مباشرة، ولكنه يوفر تفسيرات ورؤى واقتراحات يمكنك استخدامها لتحسين التعليمات البرمجية.
يعد وضع Ask الخاص ب GitHub Copilot مفيدا عند التعامل مع الوظائف الكبيرة المعقدة ويصعب فهمها. من خلال طرح أسئلة مستهدفة ، يمكنك تقسيم وظيفة كبيرة إلى أجزاء يمكن التحكم فيها ، وتحديد مجالات التحسين ، وتخطيط جهود إعادة بناء التعليمات البرمجية بشكل فعال.
حالات الاستخدام العامة لوضع الطلب الخاص ب GitHub Copilot
تم دمج وضع السؤال في GitHub Copilot في Visual Studio Code من خلال ملحق GitHub Copilot Chat. يمكنك بدء محادثة في وضع السؤال عن طريق فتح لوحة الدردشة وكتابة أسئلتك بلغة طبيعية. فيما يلي بعض حالات الاستخدام الشائعة لوضع السؤال:
- شرح / تلخيص الكود: قم بإنشاء تحليل لغة طبيعية لما تفعله التعليمات البرمجية. يمكنك أن تطلب من GitHub Copilot تلخيص قاعدة بيانات كاملة أو أي فئة أو طريقة أو كتلة تعليمات برمجية.
- تحديد الأقسام المنطقية: غالبا ما ترجع قائمة مرقمة بالمهام أو الخطوات المميزة التي تنفذها التعليمات البرمجية.
- تسليط الضوء على المشاكل: قد تشير إلى التكرار أو التعقيد.
- أجب عن أسئلة محددة: "ماذا تفعل هذه الحلقة؟" أو "لماذا هذه المعلمات مطلوبة؟"
- اقترح مناهج إعادة الهيكلة: "يمكنك استخراج هذه الخطوات إلى وظائف منفصلة ..."
تحديد الوظائف الكبيرة وتقييمها باستخدام وضع الطلب في GitHub Copilot
هناك العديد من السيناريوهات التي يمكن أن يساعد فيها وضع السؤال في تحديد الوظائف الكبيرة وتحليلها:
- تحديد الوظائف الكبيرة التي يحتمل أن تكون إشكالية: اطلب من Copilot العثور على وظائف تتجاوز عدد أسطر معينة أو حد تعقيد.
- فهم الوظائف: اسأل عما تفعله الوظيفة على مستوى عال.
- تحطيم المنطق: اطلب شرحا تفصيليا لمنطق الدالة.
- تحديد المشكلات: استفسر عن المشاكل المحتملة أو روائح الكود.
- اقتراحات إعادة الهيكلة: اطلب المشورة حول كيفية إعادة بناء الوظيفة لتحسين قابلية القراءة والصيانة.
- استكشاف البدائل: اطلب طرقا مختلفة لتنفيذ نفس الوظيفة.
- أفضل ممارسات التعلم: طلب أفضل ممارسات الترميز المتعلقة بالغرض من الوظيفة.
فيما يلي عملية عالية المستوى تستخدم GitHub Copilot لتحديد الوظائف الكبيرة وتحليلها:
تحديد الوظائف الكبيرة التي بها مشكلات: استخدم وضع السؤال لتحديد الوظائف التي تتجاوز الحدود المحددة.
راجع نتائج GitHub Copilot: تحليل قائمة الوظائف المحددة وتحديد أولوياتها بناء على التعقيد والتأثير. استخدم حكمك لتحديد الوظائف التي ستستفيد أكثر من إعادة الهيكلة.
تقييم دالة كبيرة معينة: استخدم وضع السؤال لتحليل الدالة بالتفصيل.
اطرح سؤالا باستخدام مطالبة لغة طبيعية، مثل:
- "تحليل الوظيفة المختارة وتقديم ملخص رفيع المستوى للغرض منها ومسؤولياتها الرئيسية. قم بتضمين أي مخاوف بشأن التعقيد أو قابلية الصيانة تلاحظها."
- "قسم الوظيفة المختارة إلى مهامها أو مسؤولياتها المنطقية المتميزة. لكل مهمة ، حدد أسطر التعليمات البرمجية المتضمنة وما إذا كان يمكن استخراج كل مهمة في وظيفة منفصلة ".
- "تحديد فرص إعادة بناء التعليمات البرمجية المحددة في الوظيفة المحددة. اقترح كتل التعليمات البرمجية التي يمكن استخراجها في طرق منفصلة ، وما هي هذه الطرق التي يجب تسميتها ، والمعلمات التي قد تحتاجها ".
- "تحليل التعقيد الدائري للوظيفة المحددة. حدد نقاط القرار (إذا كانت العبارات أو الحلقات أو حالات التبديل) التي تساهم بشكل أكبر في التعقيد واقترح استراتيجيات محددة لتقليلها ، مثل بنود الحماية أو العوائد المبكرة أو أنماط الإستراتيجية ".
- "قم بتقييم الوظيفة المحددة مقابل مبادئ SOLID. ما هي المبادئ التي تنتهكها وكيف؟"
- "حدد أي روائح رمز في الوظيفة المحددة ، مثل قوائم المعلمات الطويلة أو الشرطيات المتداخلة أو أنماط التعليمات البرمجية المتكررة. قدم أمثلة محددة ".
- "اقترح خطة إعادة هيكلة خطوة بخطوة للوظيفة المحددة ، مع إعطاء الأولوية للتغييرات التي سيكون لها أكبر تأثير على قابلية القراءة والصيانة."
راجع رد GitHub Copilot في لوحة الدردشة:
تطبيق فهمك لقاعدة الرموز وقواعد العمل المعمول بها. استخدم معرفتك الخاصة للتحقق من تحليل GitHub Copilot.
ابحث عن رؤى قابلة للتنفيذ في الاستجابة. على سبيل المثال، قد تجد مهام محددة أو أقسام تعليمات برمجية يمكن استخراجها إلى وظائف منفصلة.
اسأل المتابعات:
- "راجع أنماط معالجة الأخطاء في الوظيفة المحددة. هل هناك فرص لدمج معالجة الأخطاء أو تحسين رسائل الخطأ أو استخراج معالجة الأخطاء في مكونات قابلة لإعادة الاستخدام؟
- "تقييم الوظيفة المختارة مقابل مبدأ المسؤولية الواحدة. إذا كان لديها مسؤوليات متعددة ، فحدد كل واحدة واقترح كيف يمكن فصلها إلى وظائف مركزة ذات غرض واحد ".
- "راجع خطة إعادة بناء التعليمات البرمجية المقترحة للوظيفة المحددة. هل هناك أي آثار تتعلق بالأمان أو الأداء أو قابلية الصيانة التي أحتاج إلى أخذها في الاعتبار؟ اشرح."
خطط لإعادة الهيكلة:
استخدم الرؤى لتوضيح استراتيجية إعادة الهيكلة.
حدد الأجزاء التي تريد استخراجها إلى وظائف أو فئات منفصلة.
تلميحات لاستخدام وضع السؤال بشكل فعال
لتحقيق أقصى استفادة من وضع الطلب في GitHub Copilot ، ضع في اعتبارك النصائح التالية:
- كن محددا: اسأل عن أقسام معينة إذا لزم الأمر.
- حافظ على مرئي السياق: تأكد من أن GitHub Copilot يمكنه "رؤية" الوظيفة بأكملها. أضف الملفات ذات الصلة إلى سياق الدردشة إذا لزم الأمر.
- لا تثق بشكل أعمى في الاقتراحات: استخدم حكمك.
- استخدم إخراج وضع السؤال كمخطط: خطط لجهود إعادة بناء التعليمات البرمجية بناء على انهيار GitHub Copilot.
ملاحظة
يمكن للمطورين ذوي الخبرة استخدام وضع السؤال كرأي ثان وللتحقق من صحة خططهم الخاصة لإعادة بناء الوظائف الكبيرة. إذا حدد GitHub Copilot نفس الوظائف التي حددتها ، فأنت تعلم أنك على المسار الصحيح. إذا اقترح GitHub Copilot إعادة بناء التعليمات البرمجية للوظائف الأخرى ، فيمكنك استخدام رؤى GitHub Copilot لتقييم ما فاتك.
الملخص
يعد وضع السؤال في GitHub Copilot أداة قوية لتحليل الوظائف الكبيرة وفهمها. من خلال طرح الأسئلة المستهدفة ، يمكنك تقسيم التعليمات البرمجية المعقدة وتحديد مجالات التحسين وتخطيط مشروع إعادة بناء التعليمات البرمجية بشكل فعال. استخدم وضع السؤال كمساعد تخطيط قبل البدء في إعادة بناء التعليمات البرمجية لضمان اتباع نهج مدروس جيدا.