GitHub Copilot kod tamamlama önerilerini kullanarak kod oluşturma

Tamamlandı

GitHub Copilot, çok sayıda programlama dili ve çok çeşitli çerçeveler için kod tamamlama önerileri sağlayabilir, ancak özellikle Python, JavaScript, TypeScript, Ruby, Go, C# ve C++ için iyi çalışır. Kod satırı tamamlamaları, yazdığınız kodun bağlamı temelinde oluşturulur. GitHub Copilot tarafından sağlanan önerileri kabul edebilir, reddedebilir veya kısmen kabul edebilirsiniz.

GitHub Copilot, kod satırı tamamlamaları oluşturmak için iki yol sağlar:

  • Açıklamadan: Oluşturmak istediğiniz kodu açıklayan bir açıklama yazarak kod satırı tamamlamaları oluşturabilirsiniz. GitHub Copilot, yazdığınız açıklamaya göre kod tamamlama önerileri sağlar.

  • Koddan: Kod satırı başlatarak veya tamamlanmış bir kod satırından sonra Enter tuşuna basarak kod satırı tamamlamaları oluşturabilirsiniz. GitHub Copilot, yazdığınız koda göre kod tamamlama önerileri sağlar.

Bir açıklamadan kod satırlarını tamamlamak için GitHub Copilot'u kullanma

GitHub Copilot, açıklamayı ve uygulamanızın mevcut bağlamını temel alarak kod tamamlama önerileri oluşturur.

Kod parçacıklarını, yöntemleri, veri yapılarını ve diğer kod öğelerini açıklamak için açıklamaları kullanabilirsiniz.

Aşağıdaki kod parçacığına sahip olduğunuzu varsayalım:


namespace ReportGenerator;

class QuarterlyIncomeReport
{
    static void Main(string[] args)
    {
        // create a new instance of the class
        QuarterlyIncomeReport report = new QuarterlyIncomeReport();

        // call the GenerateSalesData method

        // call the QuarterlySalesReport method
        
    }

    public void QuarterlySalesReport()
    {

        Console.WriteLine("Quarterly Sales Report");
    }
}    

Örneğin, veri yapısı oluşturmak için aşağıdaki açıklama kullanılabilir:


// public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price

GitHub Copilot, kod açıklamanıza ve düzenleyicide açık olan kod dosyalarına göre bir veya daha fazla kod tamamlama önerisi oluşturur.

Veri yapısını açıklayan bir açıklamanın kod tamamlanmasını gösteren ekran görüntüsü.

Veri yapısının alanlarını bildirmek için kullanılan veri türlerine dikkat edin. GitHub Copilot, mevcut kodunuz ve kod açıklamanıza göre veri türlerini ve değişken adlarını seçer. GitHub Copilot, uygulamanın değişkenleri nasıl kullandığını belirlemeye çalışır ve veri türlerini buna göre tanımlar.

GitHub Copilot birden fazla öneri oluşturduğunda, Kabul Et>bulunan sol veya sağ okları (< veya ) seçerek öneriler arasında geçiş yapabilirsiniz. Bu, gereksinimlerinize en uygun öneriyi gözden geçirmenize ve seçmenize olanak tanır.

İstediğinizle tam olarak eşleşmemiş bir kod tamamlama önerisini kabul edebilirsiniz. Ancak, öneriyi "düzeltmek" için gereken değişiklikler net olmalıdır. Bu durumda, bazı veri türleri istediğiniz gibi değildir, ancak önerilen otomatik tamamlamayı kabul ettikten sonra bunları ayarlayabilirsiniz.

Önerilen seçeneklerden hiçbiri ihtiyacınız olan seçeneklere benzemiyorsa deneyebileceğiniz iki şey vardır. Diğer önerilerin listesini içeren yeni bir düzenleyici sekmesi açmak için Ctrl Bu kısayol tuşu bileşimi, en fazla 10 öneri içeren yeni bir sekme açar. Her öneriyi kabul etmek için kullanabileceğiniz bir düğme, önerinin ardından gelir. Bir öneriyi kabul ettikten sonra sekme otomatik olarak kapanır. Diğer seçeneğiniz, önerileri kapatmak ve yeniden denemek için Esc tuşuna basmaktır. GitHub Copilot'ın çalışması için daha fazla bağlam sağlamak üzere kod açıklamasını ayarlayabilirsiniz.

Uyarı

GitHub Copilot zaman zaman aşamalı olarak bir öneride bulunabilir. Böyle bir durumda, Sekme tuşuna bastıktan sonra önerinin ek aşamalarını görmek için Enter tuşuna basabilirsiniz.

Önerilen bir veri yapısını kabul etmek için Sekme tuşuna basın veya Kabul Et'i seçin.

Alan veri türlerini değiştirmek için kodunuzu aşağıdaki gibi güncelleştirin:

public struct SalesData
{
    public DateOnly dateSold;
    public string departmentName;
    public int productID;
    public int quantitySold;
    public double unitPrice;
}

Kod tamamlama önerilerinde hızlı ayarlamalar yapmak, istediğiniz kodu oluşturduğunuzdan emin olmanıza yardımcı olur. Kod tabanınızın büyük bölümlerinin hala geliştirilmesi gerektiğinde geliştirme sürecinizin erken aşamalarında düzeltmeler yapmak özellikle önemlidir. Sonraki kod tamamlama işlemleri önceden yazdığınız kodu temel alır, bu nedenle kodunuzun mümkün olduğunca doğru olduğundan emin olmak önemlidir.

Bir açıklamadan kod satırlarını tamamlamak için GitHub Copilot'u kullanma

GitHub Copilot, açıklamayı ve uygulamanızın mevcut bağlamını temel alarak kod tamamlama önerileri oluşturur. Kod parçacıklarını, yöntemleri, veri yapılarını ve diğer kod öğelerini açıklamak için açıklamaları kullanabilirsiniz.

Alıştırmanın bu bölümünü tamamlamak için aşağıdaki adımları kullanın:

  1. Program.cs dosyasında yönteminin Main altında iki boş kod satırı oluşturun.

  2. Test verileri oluşturmak için kullanılabilecek bir veri yapısı oluşturmak için aşağıdaki kod açıklamasını oluşturun ve Enter tuşuna basın:

    // public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price
    

    GitHub Copilot, kod açıklamanıza ve uygulamanızda bulduğu mevcut kodlara göre bir veya daha fazla kod tamamlama önerisi oluşturur.

  3. GitHub Copilot tarafından sağlanan kod tamamlama önerilerini gözden geçirmek için bir dakika bekleyin.

    Uyarı

    GitHub Copilot veri yapısı yerine bir yöntem için öneriler oluşturuyorsa genel str yazın ve kod tamamlama önerisinin güncelleştirilmesini bekleyin. GitHub Copilot, önerilerini geliştirmek için ek bilgileri kullanır.

    Veri yapısını açıklayan bir açıklamanın kod tamamlanmasını gösteren ekran görüntüsü.

    Veri yapısının alanlarını bildirmek için kullanılan veri türlerine dikkat edin. GitHub Copilot, mevcut kodunuz ve kod açıklamanıza göre veri türlerini ve değişken adlarını seçer. GitHub Copilot, uygulamanın değişkenleri nasıl kullandığını belirlemeye çalışır ve veri türlerini buna göre tanımlar.

    GitHub Copilot birden fazla öneri oluşturduğunda, Kabul Et>bulunan sol veya sağ okları (< veya ) seçerek öneriler arasında geçiş yapabilirsiniz. Bu, gereksinimlerinize en uygun öneriyi gözden geçirmenize ve seçmenize olanak tanır.

    İstediğinizle tam olarak eşleşmemiş bir kod tamamlama önerisini kabul edebilirsiniz. Ancak, öneriyi "düzeltmek" için gereken değişiklikler net olmalıdır. Bu durumda, bazı veri türleri istediğiniz gibi değildir, ancak önerilen otomatik tamamlamayı kabul ettikten sonra bunları ayarlayabilirsiniz.

    Önerilen seçeneklerden hiçbiri ihtiyacınız olan seçeneklere benzemiyorsa deneyebileceğiniz iki şey vardır. Diğer önerilerin listesini içeren yeni bir düzenleyici sekmesi açmak için Ctrl Bu kısayol tuşu bileşimi, en fazla 10 öneri içeren yeni bir sekme açar. Her öneriyi kabul etmek için kullanabileceğiniz bir düğme, önerinin ardından gelir. Bir öneriyi kabul ettikten sonra sekme otomatik olarak kapanır. Diğer seçeneğiniz, önerileri kapatmak ve yeniden denemek için Esc tuşuna basmaktır. GitHub Copilot'ın çalışması için daha fazla bağlam sağlamak üzere kod açıklamasını ayarlayabilirsiniz.

    Uyarı

    GitHub Copilot zaman zaman aşamalı olarak bir öneride bulunabilir. Böyle bir durumda, Sekme tuşuna bastıktan sonra önerinin ek aşamalarını görmek için Enter tuşuna basabilirsiniz.

  4. Önerilen bir veri yapısını kabul etmek için Sekme tuşuna basın veya Kabul Et'i seçin.

  5. Alan veri türlerini değiştirmek için kodunuzu aşağıdaki gibi güncelleştirin:

    public struct SalesData
    {
        public DateOnly dateSold;
        public string departmentName;
        public int productID;
        public int quantitySold;
        public double unitPrice;
    }
    

    Kod tamamlama önerilerinde hızlı ayarlamalar yapmak, istediğiniz kodu oluşturduğunuzdan emin olmanıza yardımcı olur. Kod tabanınızın büyük bölümlerinin hala geliştirilmesi gerektiğinde geliştirme sürecinizin erken aşamalarında düzeltmeler yapmak özellikle önemlidir. Kod tamamlama işlemleri mevcut kodunuzu temel alır, bu nedenle kodunuzun mümkün olduğunca doğru olduğundan emin olmak önemlidir.

  6. Veri yapısının SalesData altında iki boş kod satırı oluşturun.

  7. Veri yapısını kullanarak SalesData test verileri oluşturan bir yöntem oluşturmak için aşağıdaki kod açıklamasını yazın ve Enter tuşuna basın:

    /* the GenerateSalesData method returns 1000 SalesData records. It assigns random values to each field of the data structure */
    
  8. GitHub Copilot tarafından sağlanan kod tamamlama önerilerini gözden geçirmek için bir dakika bekleyin.

    GenerateSalesData yönteminin SalesData nesnelerden oluşan bir dizi döndürmek için tasarlandığına dikkat edin. yöntemi, veri yapısının her alanına rastgele değerler atanmış 1.000 test verisi SalesData kaydı oluşturur.

    Bir yöntemi açıklayan açıklamanın kod tamamlanmasını gösteren ekran görüntüsü.

    GitHub Copilot ve GitHub Copilot Chat tarafından önerilen önerileri, doğru görünseler bile her zaman gözden geçirmelisiniz.

    Uyarı

    GitHub Copilot tamamlanmış GenerateSalesData bir yöntem yerine tek bir kod satırı önerirse, GitHub Copilot Önerileri sekmesini açmak için Ctrl. Yeni sekmedeki önerileri gözden geçirin. Sonraki adımda, öneriyi kabul etmek için "Öneriyi kabul et #" düğmesini kullanın. GitHub Copilot, zaman zaman artımlı olarak öneriler sunar. Kod tamamlamalarını artımlı olarak kabul edebilirsiniz, ancak kabul etme veya atma kararı vermeden önce tam öneriyi gözden geçirmek için GitHub Copilot Önerileri sekmesini kullanmak daha iyidir.

  9. Kod tamamlama önerilerini kaydırın ve gereksinimler için en iyi eşleşmeyi seçin.

  10. Kodun tamamlanmasını kabul etmek için Sekme tuşuna basın.

    Kod tamamlama önerisinin, alanı oluşturmak için kullanılan kodda söz dizimi hatası içerdiğine DateSold dikkat edin. DateOnly doğru sırada listelenmesi gereken üç tamsayı değeri kabul eder: Year, Month, Day.

  11. Alanı oluşturmak DateSold için kullanılan kod için tek bir yıl belirtmek için kod satırını aşağıdaki gibi güncelleştirin:

    salesData[i].DateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
    
  12. Gerekirse, diğer kod satırlarını aşağıdaki kod parçacığıyla eşleşecek şekilde ayarlayın:

    public SalesData[] GenerateSalesData()
    {
        SalesData[] salesData = new SalesData[1000];
        Random random = new Random();
    
        for (int i = 0; i < salesData.Length; i++)
        {
            salesData[i].dateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
            salesData[i].departmentName = "Department " + random.Next(1, 11);
            salesData[i].productID = random.Next(1, 101);
            salesData[i].quantitySold = random.Next(1, 101);
            salesData[i].unitPrice = random.NextDouble() * 100;
        }
    
        return salesData;
    }
    

Kod açıklamalarından kod oluşturma özelliği, GitHub Copilot'un güçlü bir özelliğidir. Yalnızca iki açıklamayla bir veri yapısı ve test verileri oluşturan bir yöntem oluşturabildiniz.

Kod satırı tamamlamaları oluşturmak için GitHub Copilot kullanma

GitHub Copilot, girdiğiniz koda göre kod satırı tamamlamaları oluşturabilir. Kod satırı tamamlamalarını iki yolla oluşturabilirsiniz:

  • Bir kod satırı girmeye başlayın ve GitHub Copilot'ın tamamlanmamış kod satırınız için otomatik tamamlama önermesini bekleyin.
  • Eksiksiz bir kod satırı girin, Enter tuşuna basın ve ardından GitHub Copilot'un bir sonraki kod satırı için otomatik tamamlama önermesini bekleyin.

Uyarı

GitHub Copilot, girdiğiniz koda ve uygulamanızdaki kod tarafından tanımlanan bağlama göre önerilen kod tamamlamaları oluşturur. Uygulamanızda ne kadar çok kod varsa GitHub Copilot yanıt oluştururken o kadar fazla bağlama sahip olur. GitHub Copilot, yanıtları mevcut kodunuz üzerinde temel alabilir, bu nedenle kodunuzun kalitesi önemlidir. Mevcut kodun hacmi ve kalitesi arttıkça GitHub Copilot tarafından önerilen kod satırı tamamlamalarının kalitesi ve güvenilirliği de artar. GitHub Copilot, özellikle bir dizi ilgili bileşenin oluşturulması gerektiğinde yaygın programlama görevleri ve desenleri için kod satırı tamamlamaları oluşturma konusunda iyidir.

Alıştırmanın bu bölümünde, QuarterlySalesReport yöntemine çalışırsınız.

Tamamlamanız gereken görevler şunlardır:

  • Yöntem oluşturucuyu nesne koleksiyonunuzu kabul eden bir parametreyle güncelleştirin SalesData .
  • Üç aylık raporun satış verilerini işleyen kod satırı tamamlamaları oluşturmak için GitHub Copilot'ı kullanın.
  • Uygulamayı çalıştırın ve üç aylık satış raporunu gözden geçirin.

Alıştırmanın bu bölümünü tamamlamak için aşağıdaki adımları kullanın:

  1. için QuarterlySalesReport yöntem oluşturucuyu aşağıdaki gibi güncelleştirin:

    public void QuarterlySalesReport(SalesData[] salesData)
    
  2. Geliştirmeniz gereken kodu düşünmek için bir dakika ayırın.

    Kavram basittir. Kodunuzun satış verilerinize göre üç aylık satışları hesaplamasını ve ardından bir rapor yazmasını istiyorsunuz. Bunu yapmak için kodunuzun şunları yapması gerekir:

    • salesData koleksiyonu üzerinden tekrarlayın.
    • Satılan miktara ve birim fiyatına göre her satışın değerini hesaplayın.
    • Satışın hangi üç aylık döneme ait olduğunu belirlemek için satış tarihini kullanın.
    • Her üç aylık dönem için satışları toplama.
    • Üç aylık döneme göre satışların raporunu yazın.

    Seçeneklerden biri, döngü foreach kodunu girmeye başlamak ve gitHub Copilot'un önerilerini görmektir.

  3. yönteminde QuarterlySalesReport , kod bloğunun en üstünde yeni bir kod satırı oluşturun.

    Yeni kod satırı ile içeren Console.WriteLine()kod satırı arasında en az bir boş kod satırı olmalıdır.

  4. Kod satırı tamamlama oluşturmak için yazın foreach ( ve GitHub Copilot'un kod satırı tamamlama seçenekleri önermesini bekleyin.

  5. GitHub Copilot tarafından önerilen kod tamamlama işlemini gözden geçirin.

    Foreach döngüsü için kod tamamlama işlemini gösteren ekran görüntüsü.

    Önerilen kod tamamlama istediğiniz şey değil.

    GitHub Copilot, foreach üzerinden yineleyen bir salesData döngü öneriyor olsa da, döngünün içinde analiz veya hesaplama yok. Önerilen kod, istemediğiniz veya ihtiyacınız olmayan deyimleri içerir Console.WriteLine .

  6. GitHub Copilot'ın neden Console.WriteLine ifadeler önerdiğini düşünmek için bir dakikanızı ayırın.

    GitHub Copilot'ın kodunuzun bağlamını temel alarak kod tamamlama önerileri oluşturduğunu hatırlayın. Bu durumda GitHub Copilot için dikkate alınacak çok fazla kodunuz yoktur. Ve durum daha da kötüleşiyor.

    GitHub Copilot'ın yönteminizin içinde gördüğü kod bir Console.WriteLine deyimdir. Yöntemin içinde başka bir bağlam bulunmadığı ve kod tabanınızda benzer yöntemler olmadığı için GitHub Copilot, döngü içerisine deyimler isteyebileceğiniz sonucuna varıyor.

    GitHub Copilot, kodunuz temiz ve odaklanmış olduğunda en iyi şekilde çalışır. Kodunuzda gereksiz kod açıklamaları veya deyimleri görürseniz, GitHub Copilot kod tamamlamalarını kullanmayı denemeden önce bunları kaldırmak isteyebilirsiniz.

  7. GitHub Copilot'a bir kez daha denemeden önce kodunuzu temizlemek için aşağıdaki adımları tamamlayın:

    • Önerilen foreach ( kod tamamlama işlemini iptal edin.
    • Girdiğiniz kısmi foreach ( deyimi silin.
    • Console.WriteLine yönteminizden QuarterlySalesReport deyimini silin.

    Şimdi GitHub Copilot'ı yeniden denemeye hazır olmanız gerekir.

  8. Yönteminizin QuarterlySalesReport aşağıdaki koda benzer göründüğünden emin olun:

    public void QuarterlySalesReport(SalesData[] salesData)
    {
    
    
    }
    
  9. İmleci yöntemin içindeki boş bir kod satırına QuarterlySalesReport getirin ve enter tuşuna basın.

    GitHub Copilot'ın önerilen kod tamamlama işlemini oluşturması biraz zaman alabilir.

  10. Önerilen kod tamamlamalarını gözden geçirmek için bir dakika bekleyin.

    Önemli

    Aldığınız kod tamamlama işlemleri, aşağıdaki ekran görüntüsünde gösterilen önerilerden farklı olabilir. GitHub Copilot yalnızca birlikte çalışılacak bir yöntem adına ve parametresine sahip olsa da, bu yararlı öneriler oluşturmak için yeterli olabilir. Satışları üç aylık döneme göre hesaplayan öneriler görmeniz gerekir. Önerileri reddetmek ve yeniden denemek farklı sonuçlar verebilir.

    Rapor verilerini işleyen kod tamamlama önerisini gösteren ekran görüntüsü.

    > veya < seçerek öneriler arasında geçiş yapabilirsiniz.

    Önerilen kod tamamlama işleminin satış verileriyle yinelendiğini ve üç aylık satış hesaplamaları gerçekleştirdiğini fark edin.

  11. Önerilen kod tamamlama işlemini kabul etmek için Sekme tuşuna basın.

    Önerilen kod tamamlama işlemi, satış verilerine göre üç aylık geliri hesaplar ve görüntüler.

    // create a dictionary to store the quarterly sales data
    Dictionary<string, double> quarterlySales = new Dictionary<string, double>();
    
    // iterate through the sales data
    foreach (SalesData data in salesData)
    {
        // calculate the total sales for each quarter
        string quarter = GetQuarter(data.dateSold.Month);
        double totalSales = data.quantitySold * data.unitPrice;
    
        if (quarterlySales.ContainsKey(quarter))
        {
            quarterlySales[quarter] += totalSales;
        }
        else
        {
            quarterlySales.Add(quarter, totalSales);
        }
    }
    
    // display the quarterly sales report
    Console.WriteLine("Quarterly Sales Report");
    Console.WriteLine("----------------------");
    foreach (KeyValuePair<string, double> quarter in quarterlySales)
    {
        Console.WriteLine(entry.Key + ": $" + entry.Value);
    }
    
    
  12. Dikkat edin ki GetQuarter yöntemi, satışın üç aylık dönemini belirlemek için satış ayını kullanır.

    Sıradaki adımda GetQuarter yöntemi oluşturulur.

  13. yönteminin QuarterlySalesReport altında iki boş kod satırı oluşturun.

  14. GitHub Copilot'ın GetQuarter yöntemi için kod tamamlama önerisi sunduğunu fark edin.

    Satış ayına göre çeyreği belirleyen QuarterlySalesReport yöntemi için, GetQuarter yöntemi tarafından sağlanan bağlam ile GitHub Copilot kolayca bir kod tamamlama oluşturabilir.

  15. GetQuarter yönteminin önerilen kod satırı tamamlamasını gözden geçirmek için bir dakika ayırın.

    GetQuarter yöntemi için kod tamamlama işlemini gösteren ekran görüntüsü.

  16. Önerilen kod tamamlama işlemini kabul etmek için Sekme tuşuna basın.

    public string GetQuarter(int month)
    {
        if (month >= 1 && month <= 3)
        {
            return "Q1";
        }
        else if (month >= 4 && month <= 6)
        {
            return "Q2";
        }
        else if (month >= 7 && month <= 9)
        {
            return "Q3";
        }
        else
        {
            return "Q4";
        }
    }
    
  17. Main Kodu çalıştırabilmeniz için önce yönteminin tamamlanması gerektiğini görebilirsiniz.

    Kodunuzu güncelleştirmek için yöntemindeki Main açıklamaları kullanabilirsiniz.

  18. İmleci kod açıklamasının // call the GenerateSalesData method sonuna getirin ve Enter tuşuna basın.

    GitHub Copilot, yöntemi çağırmak için bir ifade önermek amacıyla yorumu kullanır.

  19. GitHub Copilot tarafından önerilen kod tamamlama işlemini gözden geçirin ve kabul edin.

  20. Kod yorumu için // call the QuarterlySalesReport method adımını yineleyin.

  21. Yönteminiz Main aşağıdaki kodu içermelidir:

    static void Main(string[] args)
    {
        // create a new instance of the class
        QuarterlyIncomeReport report = new QuarterlyIncomeReport();
    
        // call the GenerateSalesData method
        SalesData[] salesData = report.GenerateSalesData();
    
        // call the QuarterlySalesReport method
        report.QuarterlySalesReport(salesData);
    }
    
    
  22. Sınıfınızdaki kodu gözden geçirmek için bir dakikanızı ayırın.

    namespace ReportGenerator
    {
        class QuarterlyIncomeReport
        {
            static void Main(string[] args)
            {
                // create a new instance of the class
                QuarterlyIncomeReport report = new QuarterlyIncomeReport();
    
                // call the GenerateSalesData method
                SalesData[] salesData = report.GenerateSalesData();
    
                // call the QuarterlySalesReport method
                report.QuarterlySalesReport(salesData);
            }
    
            /* public struct SalesData includes the following fields: date sold, department name, product ID, quantity sold, unit price */
            public struct SalesData
            {
                public DateOnly dateSold;
                public string departmentName;
                public int productID;
                public int quantitySold;
                public double unitPrice;
            }
    
            /* the GenerateSalesData method returns 1000 SalesData records. It assigns random values to each field of the data structure */
            public SalesData[] GenerateSalesData()
            {
                SalesData[] salesData = new SalesData[1000];
                Random random = new Random();
    
                for (int i = 0; i < 1000; i++)
                {
                    salesData[i].dateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
                    salesData[i].departmentName = "Department " + random.Next(1, 11);
                    salesData[i].productID = random.Next(1, 101);
                    salesData[i].quantitySold = random.Next(1, 101);
                    salesData[i].unitPrice = random.NextDouble() * 100;
                }
    
                return salesData;
            }
    
            public void QuarterlySalesReport(SalesData[] salesData)
            {
                // create a dictionary to store the quarterly sales data
                Dictionary<string, double> quarterlySales = new Dictionary<string, double>();
    
                // iterate through the sales data
                foreach (SalesData data in salesData)
                {
                    // calculate the total sales for each quarter
                    string quarter = GetQuarter(data.dateSold.Month);
                    double totalSales = data.quantitySold * data.unitPrice;
    
                    if (quarterlySales.ContainsKey(quarter))
                    {
                        quarterlySales[quarter] += totalSales;
                    }
                    else
                    {
                        quarterlySales.Add(quarter, totalSales);
                    }
                }
    
                // display the quarterly sales report
                Console.WriteLine("Quarterly Sales Report");
                Console.WriteLine("----------------------");
                foreach (KeyValuePair<string, double> quarter in quarterlySales)
                {
                    Console.WriteLine(entry.Key + ": $" + entry.Value);
                }
            }
    
            public string GetQuarter(int month)
            {
                if (month >= 1 && month <= 3)
                {
                    return "Q1";
                }
                else if (month >= 4 && month <= 6)
                {
                    return "Q2";
                }
                else if (month >= 7 && month <= 9)
                {
                    return "Q3";
                }
                else
                {
                    return "Q4";
                }
            }
        }
    }
    
    

    Bu kod, GitHub Copilot tarafından oluşturulan kod satırı tamamlamaları kullanılarak neredeyse tamamen oluşturulmuştur. Ancak, kod önerilerini gözden geçirmeniz önemlidir ve düzeltmeler yapılması gerekiyordu. Kodun gereksinimlerinizi karşıladığından emin olmak için GitHub Copilot tarafından önerilen kod tamamlamalarını her zaman gözden geçirmeniz gerekir.

  23. Rapor çıktısını gözden geçirmek için uygulamayı çalıştırın.

    Visual Studio Code'da bir Terminal penceresi açın ve aşağıdaki komutu girin:

    dotnet run
    

    Çıktıda, test verilerinde temsil edilen her bölüm ve üç aylık dönem için bölüm adı, çeyrek ve geliri gösteren üç aylık gelir raporu görüntülenmelidir.

  24. Terminal penceresindeki çıktıyı gözden geçirin.

    Üç aylık sonuçlar rastgele sayısal değerlere dayalı olsa da, aşağıdaki çıkışa benzer şekilde biçimlendirilmiş bir rapor görmeniz gerekir:

    
    Quarterly Sales Report
    ----------------------
    Q3: $635637.5019563352
    Q4: $672247.315297204
    Q2: $667269.194630603
    Q1: $642769.2700531208
    
    

Özet

Kod satırı tamamlamaları, GitHub Copilot'un hızlı ve verimli bir şekilde kod oluşturmanıza yardımcı olabilecek güçlü bir özelliğidir. Oluşturmak istediğiniz kodu açıklamak için açıklamaları kullanarak en az çabayla veri yapıları, yöntemler ve diğer kod öğeleri oluşturabilirsiniz. Ayrıca GitHub Copilot, girdiğiniz koda göre kod satırı tamamlamaları oluşturarak kolayca karmaşık uygulamalar oluşturmanıza olanak tanır.