إعادة هيكلة الكود باستخدام GitHub Copilot الدردشة الداخلية

مكتمل

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

فهم التعليمات البرمجية الخاصة بك

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

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

إليك بعض الأمثلة على المحفزات التي تطلب المساعدة GitHub Copilot في البرمجة:

/explain Explain how authentication is implemented in this code
/explain Can this code be updated to improve security? Explain the concepts and show some examples

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

استخدام الدردشة المضمنة لإعادة بناء التعليمات البرمجية

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

لإعادة بناء التعليمات البرمجية باستخدام الدردشة المضمنة، اتبع الخطوات التالية:

  1. افتح الملف الذي يحتوي على التعليمات البرمجية التي تريد تحسينها.

  2. حدد التعليمات البرمجية التي تريد تحسينها.

  3. افتح جلسة دردشة مضمنة.

    استخدم اختصار لوحة المفاتيح Ctrl+I لفتح جلسة عمل الدردشة المضمنة. بدلا من ذلك، يمكنك اختيار Editor Inline Chat من إحدى قوائم GitHub Copilot.

  4. أدخل مطالبة تطلب تحسينا.

    على سبيل المثال: هل يمكن تحسين هذا الكود؟

  5. راجع تحديث التعليمات البرمجية المقترح.

    GitHub Copilot يطبق تحديث الكود المقترح مباشرة في المحرر، حيث يمكنك مراجعته في مكانه، مع السياق الكامل للكود المحيط.

  6. اختر قبول أو إغلاق لقبول أو إلغاء تحديث الكود المقترح.

    كما هو الحال مع جميع GitHub Copilot الاقتراحات، تحقق من أن الكود المعدل يعمل بدون أخطاء وينتج النتيجة الصحيحة.

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

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

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

إليك التعليمات البرمجية الأصلية:

using System;
using System.Data;

public class DataProcessor
{
    public void ProcessData(string item, string price)
    {
        // Cleanse the data
        item = item.Trim();    // Remove leading and trailing whitespace
        price = price.Trim();  // Remove leading and trailing whitespace
        double priceValue = double.Parse(price);   // Convert price to a double
        // More cleansing operations can be added here

        // Create and print a DataTable
        DataTable table = new DataTable();
        table.Columns.Add("Item", typeof(string));
        table.Columns.Add("Price", typeof(double));
        table.Rows.Add(item, priceValue);
        foreach (DataRow row in table.Rows)
        {
            Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
        }
    }
}

// Example usage
class Program
{
    static void Main()
    {
        string item = "  Apple  ";
        string price = "  1.50  ";
        var processor = new DataProcessor();
        processor.ProcessData(item, price);
    }
}

لإعادة بناء التعليمات البرمجية لأسلوب ProcessData، اتبع الخطوات التالية:

  1. حدد أسلوب ProcessData.

  2. افتح الدردشة المضمنة.

  3. أدخل تنبيه يطلب GitHub Copilot إنشاء طرق منفصلة لكل مهمة، ثم اضغط على Enter.

    على سبيل المثال: أريد إعادة هيكلة طريقة ProcessData. أريد طريقة لتنظيف البيانات، وطريقة للطباعة، وطريقة لمعالجة البيانات.

  4. راجع تحديث التعليمات البرمجية المقترح.

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

    using System;
    using System.Data;
    
    public class DataProcessor
    {
        public void ProcessData(string item, string price)
        {
            (string cleansedItem, double cleansedPrice) = CleanseData(item, price);
            DataTable table = new DataTable();
            table.Columns.Add("Item", typeof(string));
            table.Columns.Add("Price", typeof(double));
            table.Rows.Add(cleansedItem, cleansedPrice);
            PrintData(table);
        }
    
        private (string, double) CleanseData(string item, string price)
        {
            string trimmedItem = item.Trim();
            string trimmedPrice = price.Trim();
            double priceValue = double.Parse(trimmedPrice);
            return (trimmedItem, priceValue);
        }
    
        private void PrintData(DataTable table)
        {
            foreach (DataRow row in table.Rows)
            {
                Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
            }
        }
    }
    
    // Example usage
    class Program
    {
        static void Main()
        {
            string item = "  Apple  ";
            string price = "  1.50  ";
            var processor = new DataProcessor();
            processor.ProcessData(item, price);
        }
    }
    

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

  5. اختر قبول أو إغلاق لقبول أو إلغاء تحديث الكود المقترح.

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

    كما هو الحال مع جميع GitHub Copilot الاقتراحات، تحقق من أن الكود المعدل يعمل بدون أخطاء وينتج النتيجة الصحيحة.

  6. اختبر التعليمات البرمجية التي تمت إعادة بناء التعليمات البرمجية للتأكد من تشغيلها دون أخطاء وإنشاء النتيجة المتوقعة.

ملخص

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